python - Selenium Python - 等待元素加载并单击它

标签 python selenium xpath css-selectors webdriverwait

我一直在试图弄清楚如何等待元素被加载,然后在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/

相关文章:

python - Pandas:从返回数据创建索引时间序列 [从 100 开始]

javascript - 即使在 POST 调用中传递它之后,Django 也会给出 'CSRF token missing or incorrect.' 错误

python - 如何使用 Selenium 和 Python 选择具有不可选择的 ="on"属性的 kendo 下拉元素

python - 在 Python xlib 中绘制窗口边框

python - 并行Python和子进程

python - 查找并单击具有更改 CSS 选择器的元素 (python)

python - 如何在 webdriver 中使用 onclick 事件作为选择器?

Xpath选择功能?

xml - 从 str :tokenize() 循环遍历多个序列

javascript - iphone 移动 safari 上的 javascript 是否支持 xpath?