2017-04-18 37 views
0

这里是我的CSS选择器代码想要用cssSelector聚焦元素。我能怎么做?

driver.findElement(By.cssSelector("button[class='btn-link'][data-sugg-technik='append_numbers']")).click(); 

driver.findElement(By.cssSelector("button[class='btn-link'][data-sugg-technik='make_pairs']")).click(); 

他们正在努力,我想集中硒这些元素。我怎样才能做到这一点?

编辑:

js.executeScript("document.querySelector('button,btn-link,make_pairs).focus();"); 

而且也是这个代码工作,但总是把第一项,这不是我想要的。

<li> 
    <button class="btn-link" data-sugg-sources="email,full_name" data-sugg-technik="make_pairs">AlZehraala16</button> 
</li> 

我只想关注这个按钮。

+1

你试过'.focus()'吗? – evolutionxbox

回答

0

有两个说你可以做到这一点。你可以使用webdriver代码或JavaScript来做到这一点。我想使用webdriver会更好,因为它使用本地事件。以下代码显示了如何使用webdriver。

@Test 
public void focusElement(){ 
    WebDriver driver = new FirefoxDriver(); 
    driver.get("https://google.com"); 
    driver.manage().window().setSize(new Dimension(1000,300)); 
    WebElement searchBox = driver.findElement(By.name("q")); 
    Actions actions = new Actions(driver); 
    actions.moveToElement(searchBox).build().perform(); 
} 

,如果你想要做的是使用JavaScript的。这是您需要修改代码的方式。

public void focusElement(WebElement element){ 
    if (driver instanceof JavascriptExecutor) { 
     ((JavascriptExecutor) driver).executeScript("arguments[0].focus();", element); 
    } 

} 
相关问题