我有以下页面,我需要单击用户登录。
我无法找到要继续的元素。
<a class="nav-link page-scroll login-a ng-binding" data-toggle="modal" data-target="#loginToast" href="javascript:void(0);" ng-click="vm.showLoginToast({},'login');" ng-class="{'urdu-login-mobile':language==='UR' || language==='ur'}">User Login</a>
元素是Angular元素,因此对于元素上的click()
,您必须为element to be clickable
引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:
使用Java和cssSelector:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.nav-link.page-scroll.login-a.ng-binding[data-toggle='modal'][data-target$='loginToast']"))).click();
使用Python和XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='nav-link page-scroll login-a ng-binding' and @data-toggle='modal'][text()='User Login']"))).click()