在Selenium 2.9中选择Image
我正在尝试使用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代码:
任何帮助将不胜感激!
单击图像就像点击任何其他元素一样。 如果你有问题定位图像,给它id
并使用css选择器ie
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" )
单击图像就像点击任何其他元素一样。 如果你有>问题定位图像,给它id并使用css选择器ie
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" )
谢谢Borsunho,在发现我需要首先找到iframe后,它让事情变得更加简单。 这是我的最终结果:
it "can go to Ultratime", focus: true do @ie_driver.find_element(:link, "My Resources").click @ie_driver.switch_to.frame(@ie_driver.find_element(:css, 'iframe[src="https://controller.nd.edu/ultratime/insidend/"]')) @ie_driver.find_element(:class,"single").click end
- “错误 – :演员坠毁了! Celluloid :: DeadActorError:试图在“跑步时”调用一个死去的演员“jekyll watch”或“jekyll serve”
- Rails resque:将变量从控制器传递给worker时未找到记录