Python3硒按钮单击问题

时间:2019-04-30 01:12:04

标签: python selenium

我要单击一个按钮,如下图所示。 enter image description here

我这样写代码:

try:
    browser.find_element_by_xpath("//a[@href='/portal/site/16/801']").click()
except Exception as e:
    print(e)

但是它总是显示错误,无法找到该元素。 这是我要单击的html代码。

<a href="/portal/site/16/801" data-blackname="16" title="课程网站">
                                        <img src="/access/img//site/16.png" class="media-icon" onerror="this.src='/resources/images/app-default-icon2.png'">

                                        <h5><i class="icon-ok"></i>课程网站</h5>

有人可以帮我解决问题吗?预先感谢!

2 个答案:

答案 0 :(得分:0)

在使用Selenium发送用户名,密码和ENTER之后添加随机睡眠。有效

time.sleep(random.randint(3,6))

答案 1 :(得分:-2)

如supputuri所述,请使用显式等待而不是随机睡眠。如果下限不足以使按钮可单击,则肯定会使错误随机化。

显式等待用于告诉Web驱动程序等待某些条件(预期条件)。在这种情况下,该按钮将是可单击的。默认情况下,显式等待每半秒检查一次是否满足条件。

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[@href='/portal/site/16/801']"))).click()

要使用此功能,您必须导入以下内容:

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