ruby - 如何在 watir 中定位特定图像?

标签 ruby selenium automation watir-webdriver

[1] pry(main)> require 'watir-webdriver'
=> true
[2] pry(main)> browser = Watir::Browser.new
=> #<Watir::Browser:0x61b0b0e094c1512a url="about:blank" title="">
[3] pry(main)> browser.goto 'm.racingnetwork.com.au'
=> "http://m.racingnetwork.com.au/"
[4] pry(main)> browser.frames.size
=> 0
[5] pry(main)> browser.imgs.size
=> 12
[6] pry(main)> x = browser.imgs[0].src
=> "http://m.racingnetwork.com.au/mobile-telstra-racingnetwork-production/theme/img/bpBannerSportLogo_170.png"
[7] pry(main)> browser.img(:src, x).exist?
=> false
[8] pry(main)> browser.img(:src, /mobile/).exist?
=> false
[9] pry(main)> browwer.img.exist?
=> true
[10] pry(main)> browser.img.id
=> ""

为什么我无法访问该图像,我的定位器中是否有语法错误?

不幸的是,在这种情况下,我没有更好的定位器,例如元素 ID。上次我遇到 Watir 无法找到元素的问题,这是由于框架,但这里我们不在任何框架中。

最佳答案

我尝试这样做,但没有找到。通过在另一个网站上做完全相同的事情,它就起作用了。

页面开始:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

我开始比较:

<!DOCTYPE HTML>
<html lang="fr" itemscope="" itemtype="http://schema.org/Blog">

我看到的唯一区别是 XML:您正在使用的页面是 XML,您应该验证不需要解析 XML 而不是解析经典 HTML。

关于ruby - 如何在 watir 中定位特定图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807938/

相关文章:

ruby - 用于在独立线程中运行服务器然后在任务完成时终止线程的 Rake 任务?

ruby-on-rails - 调用 'save' 方法后重新加载新的类数据

selenium - 如何关闭 Selenium 中的日志记录?

Vim 按升序生成数字

python - 使用 Selenium 实现 WhatsApp Web 自动化随机消息

ruby - 如何从 Ruby 中的多维数组中删除?

ruby-on-rails - Rails - 共享数据库和模型

C# 如何单击 IList 中的 IWebelement?

java - 使用 lambda for 机制在 Selenium 中查找元素

ios - 任何将应用程序置于后台并在 Appium iOS 中重新启动的方法