2016-08-18 67 views
1

我寫了以下內容。Selenium問題,Python

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
bot = webdriver.Firefox() 
bot.find_element_by_name("username").send_keys(config['username']) 

當我使用send_keys和發生在同一時刻打字,那麼我所輸入的用戶名中還增加了。
如何避免這種情況?

例子:

我想用「桑迪普」 填寫用戶名如果​​在同一時刻我按「一」,然後用戶名變爲「sandeepa」或等價的東西。

+3

我懷疑會有一個簡單的解決方案。當這個腳本運行時你必須輸入嗎? – DeepSpace

+0

這似乎更像是OS /瀏覽器和Selenium的限制而不是實際問題。隨着DeepSpace的添加,您是否需要在測試運行的同時鍵入? – Dillanm

+0

我用它來下載和同步一些文件,所以它會在後面運行,我使用cron作業來運行它,因此不使用簡單的解決方案。 – Sandeep

回答

1

您可以使用executeScript方法:

webdriver.execute_script("document.getElementById('username').setAttribute('value', 'Sandeep')") 

JavaScript會做文本插入單操作。