Selenium:点击&#34; <div> <a></a> </div>&#34;按键

时间:2016-09-21 15:34:25

标签: javascript jquery html selenium selenium-webdriver

我试图点击一个按钮。它有这样的结构:

HTML Code

<div class="button-wrapper" id="button-verify-wrapper">
       <a x-ng-click="verifySfdcConnection()" class="clearfix float-left button-green">
            <div class="icon-green icon-green-verify"></div>
            <div class="button-label ng-binding">Verify Connection</div>
        </a>
         <div x-ng-class="{'connection-verified':wizardData.inputSource.sfdc.connectionStatus}" x-ng-show="wizardData.inputSource.sfdc.connectionStatus" style="" class="connection-verified"></div>
      </div>

任何帮助怎么做?我试过这个:

driver.findElement(By.xpath(".//*[@id='button-verify-wrapper']/a/div[1]")).click();

但它没有帮助。 感谢

4 个答案:

答案 0 :(得分:0)

您应该使用css选择器点击链接,例如:
    a[x-ng-click*='verifySfdcConnection']

答案 1 :(得分:0)

我认为此处<a>元素是可点击的。您应该尝试找到<a>元素并执行click()操作,如下所示: -

  • 使用By.cssSelector(): -

    driver.findElement(By.cssSelector("div#button-verify-wrapper > a")).click();
    
  • 使用By.linkText(): -

    driver.findElement(By.linkText("Verify Connection")).click();
    
  • 使用By.xpath(): -

    driver.findElement(By.xpath(".//a[normalize-space(.) = 'Verify Connection']")).click();
    

如果您仍然无法执行点击,请尝试使用JavascriptExecutor替代解决方案,如下所示: -

((JavascriptExecutor)driver).executeScript("arguments[0].cli‌​ck()", driver.findElement(By.cssSelector("div#button-verify-wrapper > a")));

答案 2 :(得分:0)

driver.findElement(By.id(&#34;按钮验证的包装器&#34))点击();

注意:1。如果直接给出ID或类名,则无需使用xpath,可以直接使用By.id和By.class 2.要对web元素执行操作,我们应该知道该元素ex的属性。如果它不是一个你无法点击它的按钮

答案 3 :(得分:0)

试试这个:$("#button-verify-wrapper > a").click()