如何在 Python 中使用 Selenium 单击此链接?我已经能够使用 Selenium 访问网页并单击其他具有 ID 的链接。但是这个没有ID或名字。
<div ng-repeat="dashboard in $ctrl.dashboards track by $index" class="btn btn-primary ng-scope active" ng-class="{active: dashboard.Dashboard_Id == $ctrl.activeDashboard.Dashboard_Id}" ng-click="$ctrl.dashboardClick(dashboard)" style="">
<span ng-bind="dashboard.Name" class="ng-binding">Hours By Activity</span>
</div>
我试过这个没有运气:
driver.find_elements_by_xpath("//*[contains(text(), 'Hours by Activity')]")
所需元素是Angular元素,因此要单击可点击元素,您需要为element_to_be_clickable()诱导WebDriverWait ,并且可以使用以下任一定位器策略:
使用CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.ng-binding[ng-bind='dashboard.Name']"))).click()
使用XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='ng-binding' and @ng-bind='dashboard.Name'][text()='Hours By Activity']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句