我希望在同一个Watir会话中在两个浏览器窗口之间自动工作。但是,下面的代码超时后,我才能看到一个新的浏览器选项卡打开。
b = = Watir::Browser.new :chrome
b.goto 'www.google.com'
b.switch_window
/Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/watir-7.1.0/lib/watir/wait.rb:41:in `until': timed out after 30 seconds, waiting for true condition on #<Watir::Browser:0x135ba826800b0080 url="https://www.google.com/?gws_rd=ssl" title="Google"> (Watir::Wait::TimeoutError)
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/watir-7.1.0/lib/watir/wait.rb:110:in `wait_until'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/watir-7.1.0/lib/watir/has_window.rb:63:in `switch_window'
from /Users/andyhuynh/Code/ilounge_voting/ilounge_voting.rb:68:in `<top (required)>'
from <internal:/Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb/init.rb:395:in `block in load_modules'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb/init.rb:393:in `each'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb/init.rb:393:in `load_modules'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb/init.rb:21:in `setup'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb.rb:412:in `start'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/bin/irb:23:in `load'
from /Users/andyhuynh/.asdf/installs/ruby/3.0.0/bin/irb:23:in `<main>'我使用的是Watir版本7.0.0,Ruby3.0.0p0,Chrome是103.0.5060.114。我最初的想法是,这要么是我的Ruby版本,要么是Chrome版本。我试着降级到不同的版本,但没有起到任何作用。我没有主意了,任何线索都很感激。谢谢
发布于 2022-07-19 05:43:51
当您打开b.goto 'www.google.com'控件时,该窗口已经在该窗口中,因此您不必切换,您应该打开另一个窗口来进行切换。我在下面的程序中使用b.execute_script("window.open('https://spiritualgab.freeforums.net')")打开了另一个窗口。
尝尝这个。
require 'watir'
b = Watir::Browser.new :chrome
b.goto 'www.google.com'
b.execute_script("window.open('https://spiritualgab.freeforums.net')")
b.window(title: 'Home | Spiritualgab').use
b.element(xpath: "//*[@id='navigation-menu']/ul/li[1]/a").click
b.original_window.use
b.text_field(name:'q').set 'raja'偶然地,如果您不知道窗口的标题,只需执行p b.title就会为您打印标题。
https://stackoverflow.com/questions/73030387
复制相似问题