ruby - 在 Selenium 2.9 中选择图像

标签 ruby selenium rspec selenium-ide finder

我正在尝试使用 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/

相关文章:

java - 使用页面对象模型获取相同的元素,即使元素不在 DOM 中

Rspec 请求规范和 session 值

ruby-on-rails - Prawn PDF生成器: Make image with link

ruby-on-rails - 如何在 Rails 中使用雷神?

ruby - 懒惰、贪婪和所有格量词之间有什么区别?

selenium - 而不是 sendkeys 最后从剪贴板复制的项目被输入到元素中

ruby-on-rails - Capistrano 任务中奇怪的可变参数问题

python - 如何获取网页中的特定框架并检索其内容

ruby-on-rails - rails capybara - 如何检测 js 点击 li(不是链接或按钮)

ruby-on-rails - 我如何使用 Rspec 来测试使用 Paperclip 的模型是否正在验证上传文件的大小?