如何通过使用硒的ng-click来单击启用angularjs的元素

问题描述 投票:-1回答:1

我有以下页面,我需要单击用户登录。

我无法找到要继续的元素。

<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>
selenium-webdriver xpath css-selectors webdriverwait expected-condition
1个回答
0
投票

元素是Angular元素,因此对于元素上的click(),您必须为element to be clickable引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:

  • 使用JavacssSelector

    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();
    
  • 使用PythonXPATH

    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()
    
© www.soinside.com 2019 - 2024. All rights reserved.