簡體   English   中英

Selenium Python - send_keys 時髦的行為

[英]Selenium Python - send_keys funky behavior

在 PhantomJS (python 2.7) 中使用 Selenium 我在頁面上找到一個文本框(Cisco Unity 7 FYI),並嘗試發送密鑰。

driver.find_element_by_id("pwdPwdPassword").send_keys("12345678")
driver.save_screenshot('screen.png')

查看屏幕截圖,實際上只發送了 2 個鍵。 不確定哪些是 Unity 掩碼密碼。 我注意到如果我在 IDLE 中瀏覽我的腳本並慢慢輸入

driver.find_element_by_id("pwdPwdPassword").send_keys("1")
driver.find_element_by_id("pwdPwdPassword").send_keys("2")
driver.find_element_by_id("pwdPwdPassword").send_keys("3")
driver.find_element_by_id("pwdPwdPassword").send_keys("4")
....

擊鍵實際上進入了文本框。 我嘗試在我的腳本中的每個 send_keys 之間放置一個 time.sleep(2) 但結果是一樣的。 我希望有一個技巧,所以我不必為了輸入這個密碼而在我的腳本中添加 30 秒!

謝謝!!!

作為一種選擇,嘗試使用 jQuery:

def enter_password(driver, password):
    driver.execute_script("""$("#pwdPwdPassword").val('%s');"""" % password) 
    ## id must be unique per page

也許你應該像這樣存儲輸入字段對象:

input_field = find_element_by_id("pwdPwdPassword")
input_field.send_keys("12345678")

如果這不起作用,請嘗試更新您的 PhantomJs 網絡驅動程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM