我正在尝试使用Selenium在Python中点击一个网站上的按钮。html看起来像这样:
<a class="btn btn-default btn-lg primary-light-blue-btn" onclick="createReport()">Create report</a>
我曾尝试使用:
l = driver.find_element(By.XPATH, "//button[@class='btn btn-default btn-lg primary-light-blue-btn']")
但我得到的错误:
NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@class='btn btn-default btn-lg primary-light-blue-btn']"}
我也试过其他方法,但就是找不到按钮。
l = driver.find_element(By.XPATH, "//button[text()='Create report']")
我也尝试过引入等待,但这没有帮助,例如:
l = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[text()='Create report']")))
2条答案
按热度按时间but5z9lq1#
将标记
//button
更改为//a
:lrpiutwd2#
根据给定的HTML:
元素是
<a>
标记。溶液
要单击文本为***Create report***的元素,可以使用以下locator strategies之一:
理想情况下,要单击***clickable***元素,需要为element_to_be_clickable()引入WebDriverWait,可以使用以下locator strategies之一: