我正在尝试使用 RSpec 来尝试在我实习的地方进行维护后周末的自动化测试。我正在使用 Selenium WebDriver 2.9.0 来构建框架,然后添加个性化代码。我目前坚持的是尝试让 WebDriver 单击一个图像,然后导航到正确的 HTML,但我目前无法这样做。这是我到目前为止所拥有的...
it "can go to Ultratime" do
@ie_driver.find_element(:link, "My Resources").click
wait.until { @ie_driver.execute_script("return document.readyState;") == "complete" }
sleep 3
wait.until { @ie_driver.find_element(:link_text => "Login").displayed?}
#test above line
puts "found Ultratime"
#this just finds the "Logout" button and clicks it
@ie_driver.find_element(:name, "ee").click
end
这是与我试图浏览的网站的上述“按钮”相关的 html 代码:
<body id="ultratime-insidend" class="ultratime ultratime-insidend ">
<p id="ultratime">
<a class="single" href="#">
<img alt="Ultratime" src="https://controller.nd.edu/stylesheets/images/logo2.gif"></img>
Login
</a>
如有任何帮助,我们将不胜感激!
最佳答案
点击图像就像点击任何其他元素一样。如果您在定位图像时遇到问题,请给它 id
并使用 css 选择器,即
driver.find_element_by_css_selector("#yourimageid").click()
编辑:将焦点切换到框架,使用:
driver.switch_to.frame driver.find_element(..)
任何定位器都应该可以工作,如果你不能设置 ID,比如
drive.switch_to.frame driver.find_element( :xpath, "//iframe" )
关于ruby - 在 Selenium 2.9 中选择图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613244/