2014-10-06 40 views
2

工作正常,我无法交互文本字段text_field(:css => '.search-query').send_keys(:enter) ,在Firefox和Chrome其工作正常,但不是在Phantomjs工作send_keys不phantomjs工作,但在Firefox

<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> 

我认为send_keys在phatomjs不工作,任何人都可以帮我这个

这是错误消息

:Selenium::WebDriver::Error::InvalidElementStateError: {"errorMessage":"Element is not currently interactable and may not be manipulated","request":{"headers":{"Accept":"application/json","Accept-

+0

什么错误?你确定该元素存在于PhantomJS中吗? PhantomJS最初具有较小的视口大小,并且该网站可能会根据用户代理更改内容。 – 2014-10-06 08:42:25

+1

这是错误消息:Selenium :: WebDriver :: Error :: InvalidElementStateError:{“errorMessage”:“元素当前不可交互,可能不会被操纵”,“请求”:{“headers”:{“Accept” “application/json”,“Accept- – 2014-10-06 08:46:38

回答

0

我有同样的问题, 解决办法是强制用户代理发起的网络驱动程序(使用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 

来源:https://gist.github.com/tehprofessor/5497198

+0

我试过这个,但是没有用,仍然在用户代理的chrome/firefox的phantomjs中发送错误的send_keys – 2014-10-20 11:55:21

+0

请建议我可能的方式 – 2014-10-20 11:56:21

+0

尝试拍摄一个屏幕快照以确保该字段是可编辑的,如下所述:http://watirwebdriver.com/screenshots/ – doctori 2014-10-20 21:53:56

相关问题