【问题标题】:Selenium cannot find css classSelenium 找不到 css 类
【发布时间】:2021-02-11 05:57:46
【问题描述】:

我正在按照 youtube 上的指南构建需要登录的网站抓取工具。但是我在点击登录按钮时遇到了问题。

这是我目前使用的代码。它打开了网站,但没有按下登录按钮。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

url = "https://www.URL.COM"
username = 'username'
password = 'password'

driver.get(url)

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-top.ng-scope > p.log"))).click()
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.modal-dialog > ng-pristine.ng-valid.needsclick.ng-empty.error.ng-touched"))).click()

网站是 Heo dot com;我想登录网站,但找不到如何输入电子邮件、密码和登录的解决方案。

【问题讨论】:

  • 要点击登录按钮,请尝试"[data-ng-click='showLogin()']"

标签: python css selenium web-scraping


【解决方案1】:

简单地向元素发送值并点击登录。

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-top.ng-scope > p.log"))).click()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "form > div > input:nth-child(2)"))).send_keys("A")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"form > div > input:nth-child(4)" ))).send_keys("B")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "form > div > div > input"))).click()

您也可以使用:

input[value='Sign in']

使用它代替作为 xpath 登录。

input[name='username']

作为 xpath 的用户名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多