登錄框由於js限制,定位到元素后無法sendkey ,sendky報錯如下:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element
(Session info: chrome=67.0.3396.87)
(Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 6.1.7601 SP1 x86_64)
但是這個手工是可以輸入的,應該用自動化的手段也能輸入。解決辦法就是是使用selenium 的ActionChains。並結合driver.execute_script使用。完整可執行示例代碼如下
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains driver=webdriver.Chrome() driver.maximize_window() driver.get("https://www.ymgk.com/account/logon.html?backURL") driver.find_element_by_id("logonenter").click() name = driver.find_element_by_id("logonmobile1") actions = ActionChains(driver).move_to_element(name) driver.execute_script('document.getElementById("logonmobile1").value="13888888888"')
迎加入自動化測試交流QQ群:143535941 ,進群問題回答:testway 共同討論自動化問題