发送密钥在phantomjs中不起作用,但在firefox上可以正常工作

发送密钥在phantomjs中不起作用,但在firefox上可以正常工作,phantomjs,watir-webdriver,Phantomjs,Watir Webdriver,我无法与文本字段text\u字段(:css=>'.search query')交互。发送\u键(:enter) ,它在firefox和chrome上运行良好,但在Phantomjs中不起作用 <div class="search search-session"> <form class="search-form search-form-session" action="#"> <i class="icon-search"></i>

我无法与文本字段
text\u字段(:css=>'.search query')交互。发送\u键(:enter)
,它在firefox和chrome上运行良好,但在Phantomjs中不起作用

<div class="search search-session">
  <form class="search-form search-form-session" action="#">
    <i class="icon-search"></i>
    <input type="text" class="input-medium search-query-session search-query" placeholder="Search">
  </form>

我想发送密钥在phatomjs中不起作用,有人能帮我吗

这是错误消息

:Selenium::WebDriver::Error::InvalidElementStateError:{“errorMessage”:“元素当前不可交互且不能被操作”,“请求”:{“标头”:{“接受”:“应用程序/json”,“接受”-

我也有同样的问题, 解决方案是在启动web驱动程序时强制用户代理(使用DesiredCapabilities) 使用类似的方法应该可以做到:

require 'watir-webdriver'

capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs("phantomjs.page.settings.userAgent" => "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36")
driver = Selenium::WebDriver.for :phantomjs, :desired_capabilities => capabilities
browser = ::Watir::Browser.new driver

来源:

错误是什么?您确定元素存在于PhantomJS中吗?PhantomJS最初的视口大小很小,站点可能会根据用户代理更改内容。这是错误消息:Selenium::WebDriver::error::InvalidElementStateError:{“errorMessage”:”元素当前不可交互且不能被操纵”,“请求”:{“标头”:{“接受”:“应用程序/json”,“Accept-我尝试了这个,但是没有用,仍然在phantomjs中使用chrome/Firefox的用户代理发送密钥时出错。请建议我可能的方式拍摄屏幕快照,以确保该字段是可编辑的,如下所述: