通过 Xpath 查找元素无法正常工作

问题描述 投票:0回答:1
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd

# Inicializa el driver del navegador (en este caso, Chrome)
driver = webdriver.Chrome()

# Navega a la página web
driver.get('https://yopmail.com/es/email-generator')

# Localiza el elemento que quieres copiar (necesitarás el selector CSS correcto aquí)
WebDriverWait(driver, 5)\
    .until(EC.element_to_be_clickable((By.XPATH,
                                       "/html/body/div/div[2]/main/div/div[2]/div/div[1]/div[1]/div")))

mails = driver.find_element_by_xpath("/html/body/div/div[2]/main/div/div[2]/div/div[1]/div[1]/div")
mails = mails.text

print(mails)

driver.quit()

错误:

Traceback (most recent call last):
  File "C:\Users\mback\PycharmProjects\pythonProject\.idea\G-Mails.py", line 18, in <module>
    mails = driver.find_element_by_xpath("/html/body/div/div[2]/main/div/div[2]/div/div[1]/div[1]/div")
AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'

Process finished with exit code 1

This is the piece of text i want to copy(just the Email)

我想从网站复制生成的电子邮件,但我不能,请帮助我

selenium-webdriver web-scraping
1个回答
0
投票

selenium 4.x 版本以上必须使用 driver.find_element(By.xxx, "search_srting")。旧版本使用 driver.find_element_by_xpath(...) 语法。它还适用于 find_elements(By.xxx, "search_string") 调用来查找多个元素。

4.x 主要版本还引入了其他重要差异,可以在此处找到很好的总结和一些移植代码的指南: https://www.selenium.dev/documentation/webdriver/getting_started/upgrade_to_selenium_4/

© www.soinside.com 2019 - 2024. All rights reserved.