Javascript 使用selenium查找驱动程序元素
我正在使用java编程。现在,这里是web代码Javascript 使用selenium查找驱动程序元素,javascript,java,jquery,css,selenium,Javascript,Java,Jquery,Css,Selenium,我正在使用java编程。现在,这里是web代码 <button class="btn-link" data-sugg-sources="full_name" data-sugg-technik="make_initial_and_name">NG1ulkan</button> NG1ulkan 若我右键单击并复制>css选择器,web会给我这个代码 “.suggestions>ul:n个孩子(2)>li:n个孩子(1)>按钮:n个孩子(1)” 现在的问题是:如何使用
<button class="btn-link" data-sugg-sources="full_name" data-sugg-technik="make_initial_and_name">NG1ulkan</button>
NG1ulkan
若我右键单击并复制>css选择器,web会给我这个代码
“.suggestions>ul:n个孩子(2)>li:n个孩子(1)>按钮:n个孩子(1)”
现在的问题是:如何使用这个选择器找到这个元素,以及如何使用SeleniumJava进行聚焦和单击?
而且我还使用JavascriptExecutor js=(JavascriptExecutor)驱动程序;在Selenium的Java API中的我的focus代码中,您将使用:
String选择器=“.suggestions>ul:n个孩子(2)>li:n个孩子(1)>按钮:n个孩子(1)”;
WebElement按钮=driver.findElement(By.cssSelector(选择器));
另请参见。
.suggestions>ul:nth child(2)>li:nth child(1)>按钮:nth child(1)
只不过是cssSelector
;它就像xpath一样定位网页上的元素,只是它基于css值
如您所述,您正在使用JavascriptExecutor
,因此可以使用以下代码单击此元素:
js.executeScript("document.querySelector('.suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)').click();");
你不能通过它的
类找到元素吗?不,有5个不同的按钮,所以我必须根据这个选择器进行选择。建议>ul:nth child(2)>li:nth child(1)>按钮:nth child(1)'欢迎使用堆栈溢出!请阅读并提供您尝试过的代码和执行结果,包括任何错误消息等。