我试图点击一个按钮。它有这样的结构:
<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].click()", driver.findElement(By.cssSelector("div#button-verify-wrapper > a")));
关于javascript - Selenium:单击 "<div><a></a></div>"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39620887/