使用Javascript异步弹出的Selenium Webdriver

时间:2013-06-09 19:38:21

标签: ruby selenium selenium-webdriver

我正在建立一个网页的测试脚本,该网页将数据发布到某个应用程序并显示结果。问题是脚本不会从javascript模式弹出窗口加载数据。我想在此声明它不是一个警告,它是一个简单的javascript弹出窗口。

弹出窗口中有一个链接     谷歌 该脚本单击一个链接,然后弹出窗口,但无法从弹出窗口中读取该链接。通过大量测试,我得出的结论是,在弹出窗口出现之前,脚本会在页面中运行。这是它不读取弹出链接的原因。正在使用关注代码来读取弹出窗口。

@driver.find_element(:css, "a.popup-link").attribute("href")

我也尝试过隐式和显式等待,但问题仍然存在。我已使用

将隐式等待设置为30秒
 @driver.manage.timeouts.implicit_wait = 30

明确的等待

wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds
wait.until { driver.find_element(:css => "a.popup-link") }
element = @driver.find_element(:css, "a.popup-link")

我该怎么办才能正确阅读弹出链接?有什么建议吗?

0 个答案:

没有答案