【问题标题】:Webdriver ( Selenium ) Cannot find the elementWebdriver(Selenium)找不到元素
【发布时间】:2022-11-11 03:37:31
【问题描述】:

`

import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from time import sleep
import os


login_page = "https://fap.fpt.edu.vn/Default.aspx"
# page = "https://fap.fpt.edu.vn/Report/ScheduleOfWeek.aspx"

email = ""
password = ""

options = Options()
options.add_argument("--window-size=1920,1080")
options.binary_location = "C:\Program Files\Google\Chrome\Application\chrome.exe"
driver = webdriver.Chrome(options = options)
driver.get(login_page)

login1 = driver.find_element("xpath","//div[@class='abcRioButtonContentWrapper']").click()


driver.find_element(By.NAME, "identifier").send_keys(email)
sleep(3)
driver.find_element(By.ID, "identifierNext").click()
sleep(2)
driver.find_element(By.NAME, "password").send_keys(password)
sleep(2)
driver.find_element(By.ID, "passwordNext").click()


sleep(999999)

`

我相信我选择了正确的 By.NAME (“标识符”),但代码仍然不起作用并且返回消息没有这样的元素。

我尝试更改语法,使用 xpath 将 By.NAME 更改为 By.ID 但它仍然无法正常工作

【问题讨论】:

    标签: python selenium selenium-webdriver selenium-chromedriver web-crawler


    【解决方案1】:

    不,不要在这里使用 jsname 的名称,因为它们会填充随机数据。

    只需通过文本找到您的 Google 帐户名称或电子邮件地址,然后单击它:

    userAccount = driver.find_element_by_xpath("//*[text()='YourGoogleAccountName']")
    userAccount.click()
    

    【讨论】:

    • 我没有登录gg账号怎么办
    【解决方案2】:

    Google 登录页面在新窗口中打开。所以你需要在与它交互之前切换到这个窗口。所以你需要使用这段代码(第一行和最后一行来自你的代码,中间是你需要添加的部分):

    login1 = driver.find_element("xpath","//div[@class='abcRioButtonContentWrapper']").click()
    
    windows = driver.window_handles
    driver.switch_to.window(windows[1])
    
    driver.find_element(By.NAME, "identifier").send_keys(email)
    

    完成登录后,您需要切换回主窗口。为此,您可以使用以下代码:

    driver.switch_to.window(windows[0])
    

    然后处理页面的内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多