【发布时间】:2016-06-09 07:57:02
【问题描述】:
您好,我是 Selenium Webdriver 的新手。我可以成功打开一个网页并找到其中的元素。
在一种情况下,我注意到页面上有一个链接在一段时间后变得可点击。在脚本选项卡上的 Firebug 中,我可以看到执行计时器功能的 javascript 代码。
但如果我发出,则使用 Selenium Webdriver:
driver.PageSource
我看不到 Javascript 的源代码。在请求源之前延迟 30 秒没有任何区别。我尝试使用各种 By 选项找到它:
driver.FindElement
等等,但它不存在。
firebug 如何找到并显示 Javascript 源代码?有没有办法强制 Selenium Webdriver 返回页面引用的所有代码?
或者有更好的方法吗?
感谢您的建议!
编辑---------
我在 Firefox 中尝试了以下操作:
Dim Driver2 As IWebDriver = New Chrome.ChromeDriver
Driver2.Url = "http://mypage"
Dim js As IJavaScriptExecutor = TryCast(Driver2, IJavaScriptExecutor)
Dim title As String = DirectCast(js.ExecuteScript("return JSON.stringify(window)"), String)
我得到了
访问属性“toJSON”的权限被拒绝
我读到这在 firefox 中不起作用,所以我在 Chrome 中尝试,并得到了
阻止来源为“http://mypage”的框架访问 跨域框架
从那里没有解决方案,因为根据this 这是一个安全限制,显然你不能使用 Javascript 访问
我开始认为我在这里有点超出我的深度。
【问题讨论】:
标签: c# selenium firefox selenium-webdriver webdriver