我正在为一个网页构建一个测试脚本,它将数据发布到某个应用程序并显示结果。问题是脚本不会从 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")
我应该怎么做才能正确阅读弹出链接?有什么建议么?