簡體   English   中英

想要使用cssSelector聚焦元素。 我能怎么做?

[英]Want to focus element with cssSelector. How can i do?

這是我的CSS選擇器代碼

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();

他們正在工作,我想將這些元素集中在Selenium上。 我怎樣才能做到這一點?

編輯:

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>

我只想關注這個按鈕。

有兩個人說你可以做到。 您可以使用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);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM