javascript - Selenium:单击 "<div><a></a></div>"按钮

标签 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();

但这并没有帮助。 谢谢

最佳答案

我认为<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")));

关于javascript - Selenium:单击 "<div><a></a></div>"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39620887/

相关文章:

javascript - 具有多个参数的 Ramda 管道

javascript - 如何在 Firefox 不添加 "unsafe"前缀的情况下链接到数据 URL

html - 我想全屏显示图像,直到我滚动

javascript - 如何获取导航栏上的当前元素并保存在本地存储上?

javascript - Leaflet.Geosearch : get lon/lat from address

javascript - 如何使用 jQuery 在菜单悬停时创建滑动动画?

jquery - 获取 CSS 动画流体

javascript - 使用 chrome 扩展中的上下文菜单将文本添加到文本框

c# - 如何将编码标签呈现为正确的 HTML,而不是文本?

javascript - 带有 for 循环的对象构造函数不起作用