【发布时间】:2015-05-19 00:07:42
【问题描述】:
我无法使用 phantomjs webdriver 无头执行在网页上执行任何操作,例如填充文本框、单击按钮等。
require 'watir-webdriver'
b=Watir::Browser.new :phantomjs
b.goto "google.com"
b.title # Google
b.text_field(:id => "lst-ib").set "Avinash"
所以在填写文本框时,我面临以下问题。
Watir::Exception::UnknownObjectException: unable to locate element,
using {:id=>"lst-ib", :tag_name=>"input or textarea", :type=>"(any
text type)"} from
/Library/Ruby/Gems/2.0.0/gems/watir-webdriver-0.6.10/lib/watir-webdriver/elements/element.rb:508:in
`assert_exists' from
/Library/Ruby/Gems/2.0.0/gems/watir-webdriver-0.6.10/lib/watir-webdriver/user_editable.rb:11:in
`set' from (irb):16 from /usr/bin/irb:12:in `<main>'
在没有无头执行的情况下使用 firefox 时,相同的脚本可以正常工作。如果有任何建议,请告诉我。
以下是我的 gem 版本:
1. watir-webdriver (0.6.10)
2. selenium-webdriver (2.45.0, 2.43.0)
3.phantomjs 2.0.0
【问题讨论】:
-
没有成功。即使在最大化浏览器之后也是如此。
-
我不使用 phantomjs,并且在您给出的错误中没有太多信息可以解决。我建议更新到最新的 watir-webdriver 版本 (0.7.0),但这不太可能是您的实际问题。
-
尝试改用
:name => 'q'。结果是什么?此外,您已验证b.title是"Google"?
标签: ruby selenium watir watir-webdriver