python - 在填写用户名和密码时,元素在 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。
解决方案
问题是有多个名称为email
andpassword
的元素,您可以使用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')
推荐阅读
- sql - 根据范围将总和拆分为类别
- groovy - 如何在 Groovy 中将目录从一个位置复制到另一个位置
- syntax - 奇怪的语法错误'错误:预期是`,`或`:`之一,发现`else`'
- jasperserver - Jasper Reports Server - 生成报告时行下的随机空白
- javascript - Javascript计算分配给对象属性的唯一值总数
- javascript - 我怎样才能拥有多个功能?
- android - Android - Moshi 中的多种响应类型
- android - 将特征添加到android
- android - 如何从联系人列表中启用多项选择
- javascript - 如何为过滤结果选择更多复选框值?