2017-04-18 65 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); 
    } 

} 
相關問題