司机发现元素与硒

时间:2017-04-18 16:30:30

标签: javascript java jquery css selenium

我正在使用java编程。现在,这里是网络代码;

<button class="btn-link" data-sugg-sources="full_name" data-sugg-technik="make_initial_and_name">NG1ulkan</button> 

如果我右键单击并复制&gt; css选择器,web给了我这段代码;

&#39; .suggestions&gt; ul:nth-​​child(2)&gt; li:nth-​​child(1)&gt;按钮:第n个孩子(1)&#39;

现在的问题是:如何使用此选择器找到此元素,如何使用selenium java进行聚焦和单击? 我也使用JavascriptExecutor js =(JavascriptExecutor)驱动程序;在我的焦点代码中

2 个答案:

答案 0 :(得分:0)

在Selenium的Java API中,您将使用WebDriver.findElementBy.cssSelector

String selector = ".suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)";
WebElement button = driver.findElement(By.cssSelector(selector));

另见this StackOverflow answer

答案 1 :(得分:0)

.suggestions > ul:nth-child(2) > li:nth-child(1) > button: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();");