我一直在试图弄清楚如何等待元素被加载,然后在python中执行click函数。
我正在谈论的网站是:https://tempail.com/
收到电子邮件后,我希望脚本单击它,然后执行其他任务。
我试图通过“ Try / Except Function”解决此问题,但是我总是收到错误消息。
网站来源: https://i.imgur.com/xMrJg5J.png
问题是该网站使用了我在find_element_by
函数中无法使用的生成的ID。
这是我到目前为止尝试过的: https://i.imgur.com/zxGMVpf.png
尝试一下,我希望脚本等待该站点收到邮件。邮件进入收件箱后,应单击链接/邮件并将其打开。
除此之外,我一直在寻找更多解决方案,但并没有真正的帮助,但是使用此代码,我始终会收到以下错误:
Message: no such element: Unable to locate element: {"method":"css selector","selector":".epostalar ul li.mail a"}
此外,它甚至不需要等待邮件。
答案 0 :(得分:0)
If you would like to click TEMPAIL
link use WebdriverWait
and element_to_be_clickable
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://tempail.com/")
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,"//a[contains(@href,'https://tempail.com/')]"))).click()
答案 1 :(得分:0)
收到电子邮件后,要在其上调用string
,必须诱使 WebDriverWait 使元素可点击,并且您可以使用以下Locator Strategies之一:
使用click()
:
CSS_SELECTOR
使用WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.mailler li.mail a"))).click()
:
XPATH