我这样写代码:
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>
有人可以帮我解决问题吗?预先感谢!
答案 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