我一直在试图弄清楚如何等待元素被加载,然后在Python中执行点击函数。
我说的网站是:https://tempail.com/
我收到电子邮件后,我希望脚本单击它,然后执行进一步的任务。
我尝试通过“Try/Except函数”解决这个问题,但总是收到错误消息。
网站来源: /image/n2z6E.png
问题是该网站使用了我无法在 find_element_by
函数中使用的生成 ID。
这是我迄今为止尝试过的: /image/LlN6f.png
通过尝试,我希望脚本等待站点收到邮件。邮件进入收件箱后,应单击链接/邮件并将其打开。
除此之外,我查找了更多解决方案,但没有任何真正的帮助,但是使用此代码我总是收到以下错误:
Message: no such element: Unable to locate element: {"method":"css selector","selector":".epostalar ul li.mail a"}
此外,它甚至不等待邮件。
最佳答案
一旦您收到电子邮件,要对其调用click()
,您必须引发WebDriverWait以使元素可点击 并且您可以使用以下任一 Locator Strategies :
使用
CSS_SELECTOR
:WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.mailler li.mail a"))).click()
使用
XPATH
:WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='mailler']//li[contains(@class, 'mail')]//a"))).click()
关于python - Selenium Python - 等待元素加载并单击它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393882/