我正在撰寫一個腳本以從 pdf 網站下載教科書,但是,當我試圖將這本書輸入搜索欄時,我得到了一個錯誤
selenium.common.exceptions.ElementNotInteractableException:訊息:目標元素不可互動且無法單擊
我試圖通過使用EC.element_to_be_clickable((By.XPATH, "//input[@type='text']"))
和使用time.sleep(4)
任何東西來解決這個問題,一旦頁面加載,搜索欄就會出現,我嘗試使用額外的 time.sleep() 來加載額外的時間,但它仍然顯示元素當它在那里時不可互動
這是代碼
driver.switch_to.new_window('tab')
driver.get('https://www.pdfdrive.com')
time.sleep(2)
driver.fullscreen_window()
# time.sleep(4)
EC.element_to_be_clickable((By.XPATH, "//input[@type='text']"))
bkSrch = driver.find_element(By.XPATH, "//input[@type='text']")
bkSrch.send_keys(bookLnk)
time.sleep(2)
bkSrch.send_keys(Keys.SPACE bookRthr)
`
我也嘗試先單擊該元素,但它仍然不起作用
我不知道該怎么做
uj5u.com熱心網友回復:
EC.element_to_be_clickable((By.XPATH, "(//input[@type='text'])[2]"))
bkSrch = driver.find_element(By.XPATH, "(//input[@type='text'])[2]")
bkSrch.send_keys(bookLnk)
wait = WebDriverWait(driver, 30)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,".fas.fa-times"))).click()
time.sleep(2)
bkSrch.send_keys(Keys.SPACE bookRthr)
只需單擊彈出視窗,您的文本搜索欄也使用了錯誤的輸入標簽。
uj5u.com熱心網友回復:
試試這個:
driver.get('https://www.pdfdrive.com')
time.sleep(2)
form = driver.find_element(by=By.ID, value='form-container')
inp = elem.find_element(by=By.TAG_NAME, value="input")
search_query = "it is working!"
driver.execute_script(f"arguments[0].value='{search_query}';", inp)
在這些情況下,您可以運行 javascript 代碼。
對于彈出視窗,您可以先嘗試等待 5-10 秒(time.sleep(5)),然后搜索關閉按鈕(如果存在)(使用 try-except),如果存在,只需找到關閉按鈕并單擊它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/477175.html
上一篇:為什么我的日志會轉到多個地方?
下一篇:檢查輸入是否為浮點數
