Watir noob在这里。我正在尝试连接并操作新生成的浏览器选项卡,但对如何识别新选项卡感到有些困惑。这就是我所拥有的:
Windows 7(32位)IE 10
Ruby 1.9.3-p392 / TDM-32.4.5.2
本地宝石
watir(4.0.2 x86-mingw32)
watir-classic(3.6.0)
watir-webdriver(0.6.3)
剧本的基本要点:
require 'rubygems'
require 'Watir'
ie=Watir::Browser.new
...原始浏览器选项卡上的脚本的第一部分已完成。原始浏览器选项卡会生成第二个浏览器选项卡,我需要访问该选项卡。 我已经阅读了一个响应,我需要在连接到浏览器选项卡之前将其链接到浏览器选项卡,但我很难通过href,url或title识别链接:(其中'path ...'= http url)
ie.link(:href, "path...").click
- 未捕获的异常:无法找到元素,使用{:tag_name => [“a”],:href =>“path ...”
ie.link(:url, "path...").click
- 未捕获的异常:无法找到元素,使用{:tag_name => [“a”],:url =>“path ...”
ie.a(:href, "path...").click
- 无法找到元素,使用{:tag_name => [“a”],:url =>“path ...”}
但是,如果我尝试以下方法:
ie2 = Watir::IE.attach(:title, 'New_Tab_Title')
- “无法找到标题为New_Tab_Title的窗口”
首先,我如何指向新的网址或浏览器标签?如果我在第二个选项卡打开后执行ie.close,则第一个选项卡关闭,所以很明显我无法识别这个新选项卡(即使它看起来有焦点)。
其次,我假设我需要先连接到链接/网址,然后附加到浏览器标签,然后我可以继续填充字段吗?
最后,是否有一个我可以使用的短名称网址,因为生成的网址很长,或者我们是否需要插入整个网址?
答案 0 :(得分:8)
MEDBEDbs-iMac:~ medbedb$ irb
1.9.3p392 :001 > require 'watir-webdriver'
=> true
1.9.3p392 :002 > b = Watir::Browser.new :chrome
=> #<Watir::Browser:0x..f87e94a30e87e1e60 url="about:blank" title="about:blank">
1.9.3p392 :003 > b.goto "http://www.w3schools.com/html/html_links.asp"
=> "http://www.w3schools.com/html/html_links.asp"
1.9.3p392 :004 > b.title
=> "HTML Links"
1.9.3p392 :005 > b.a(:text, 'HTML links').click
=> []
1.9.3p392 :006 > b.windows.count
=> 2
1.9.3p392 :007 > b.title
=> "HTML Links"
1.9.3p392 :008 > b.windows.last.use
=> #<Watir::Window:0x..fd949289f2b083062 located=true>
1.9.3p392 :009 > b.title
=> "Tryit Editor v1.7"
1.9.3p392 :010 > b.windows.last.close
=> #<Watir::Window:0x..fd949289f2b083062 located=true>
1.9.3p392 :011 > b.title
=> "HTML Links"
1.9.3p392 :012 > b.close
=> true
向我们展示web-pate的代码或网址,以获得更详细的结果......