首页 > 解决方案 > 在填写用户名和密码时,元素在 selenium python 中不是难以处理的

问题描述

使用代码时:

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。

标签: pythonseleniumautomated-testsweb-crawler

解决方案


问题是有多个名称为emailandpassword的元素,您可以使用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')

推荐阅读