2015-05-30 87 views
1

所以我有一個PhantomJS奇怪的問題,它不斷髮送文本到文本輸入字段失敗。當我使用chrome驅動程序運行我的代碼時,沒有問題,並且所有內容都按預期工作。Python PhantomJS發送密鑰到文本字段不工作

這是關於抽搐流的聊天框,如果你想知道。這是一些代碼。

print("Finding chat box...") 
typeKeyword = wait_until_visible_by_xpath('//textarea[@placeholder="Send a message"]', browser) 
not_working = True 
while not_working: 
    try: 
     print("Sending keys...") 
     typeKeyword.send_keys("hi") 
     not_working = False 
    except InvalidElementStateException: 
     sleep(3) 
print("Hitting chat button") 
chatButton = wait_until_visible_by_xpath('//button[@class="button send-chat-button primary float-right"]', browser) 
chatButton.click() 

PhantomJS能夠找到的文本字段,但是當它被檢測其是否可以發送鍵或不是一直被困在InvalidElementStateException。應該有一個小的延遲,因爲抽搐聊天框通常會變灰顯示6-10秒,然後才能輸入它。使用chrome驅動程序,在打印「發送鍵...」約3次後,代碼完成並輸入消息。然而,使用PhantomJS,它將永遠打印「發送鍵...」。

回答

0

Refind /「刷新」循環內的元素:

while not_working: 
    typeKeyword = browser.find_element_by_xpath('//textarea[@placeholder="Send a message"]') 
    ... 
+0

好吧,我會嘗試一下:) –

+0

不,仍然沒有工作:( –

+0

@FaTalCubez什麼是現在的症狀的任何錯誤? ? – alecxe