2014-10-06 36 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

相關問題