簡體   English   中英

填充用戶名和密碼時,元素在selenium python中不易處理

[英]Element not intractable in selenium python while filling username and password

使用代碼時:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options 
import time

options = Options()
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument('--disable-extentions')
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.quora.com')
user = driver.find_element_by_name('email')
user.clear()
user.send_keys('username')
password = driver.find_element_by_name('password')
password.clear()
password.send_keys('password')
driver.close()

我收到以下錯誤:

invalid element state: Element is not currently interactable and may not be manipulated

我認為Quora已經停止了與登錄框的自動交互。 請解釋如何使用selenium或任何其他python庫自動登錄Quora。

Quora登錄頁面上有2個名為email和password的元素。 一個是棘手的,一個不是。

看起來不可點擊的只會在注冊時顯示。

為了獲得正常登錄的正確元素,以下xpath對我有用:

user = driver.find_element_by_xpath("//div[@class='regular_login']//input[@name='email']")
password = driver.find_element_by_xpath("//div[@class='regular_login']//input[@name='password']")

問題是有多個元素的名稱是emailpassword ,而您可以使用CSS_SELECTOR選擇元素, CSS_SELECTOR所示:

user = driver.find_element_by_css_selector('.regular_login [name=email]')
user.clear()
user.send_keys('username')

password = driver.find_element_by_css_selector('.regular_login [name=password]')
password.clear()
password.send_keys('password')

檢查你的xpth是否是唯一的。 您可以使用chropath或pagemodellor獲取唯一的xpath或自己構建一個。 否則,這是單擊的直接解決方案

在使用它之前總是測試你的xpath兩次,這樣你就可以在它遲到之前節省時間。 //標簽[@名稱= 'somename']

暫無
暫無

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

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