Selenium无法从中的元素获取临时电子邮件的文本https://www.temporarymail.net/

2024-04-29 06:57:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取临时邮件网站中的一个元素的文本,它是

https://www.temporary-mail.net/

我的目的是以字符串形式获取临时邮件

CSS:“输入#活动邮件” XPATH=“//*[@id=“活动邮件”]”

我尝试使用.textget_attribute()方法,但失败了

我无法获取CSS元素的文本,我是否做错了什么?据我所知,它不在iFrame中,但我不确定,有人能启发我吗

代码:

    driver.get("https://www.temporary-mail.net/")
    kontrol = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, '//*[@id="active-mail"]'))
    )
    time.sleep(1)
    tmpMail_text = driver.find_element_by_xpath('//*[@id="active-mail"]').text
    #or
    tmpMail_attr = driver.find_element_by_xpath('//*[@id="active-mail"]').get_attribute("data-clipboard-text")
    print(tmpMail_text )
    print(tmpMail_attr )
    time.sleep(1)

Tags: texthttps文本id元素getnetwww
1条回答
网友
1楼 · 发布于 2024-04-29 06:57:38

要打印临时邮件的值,例如68p7wixe@temporary-mail.net,您需要为visibility_of_element_located()导出WebDriverWait,并且可以使用以下Locator Strategies之一:

  • 使用XPATH

    driver.get('https://www.temporary-mail.net/')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input#active-mail"))).get_attribute("data-clipboard-text"))
    
  • 使用CSS_SELECTOR

    driver.get('https://www.temporary-mail.net/')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//input[@id='active-mail']"))).get_attribute("data-clipboard-text"))
    
  • 控制台输出:

    68p7wixe@temporary-mail.net
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

更新

作为替代visibility_of_element_located()的方法,您也可以按如下方式尝试element_to_be_clickable()

  • 使用CSS_SELECTOR

    print(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='active-mail']"))).get_attribute("data-clipboard-text"))
    
  • 使用XPATH

    print(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='active-mail']"))).get_attribute("data-clipboard-text"))
    

相关问题 更多 >