有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用CSS选择器在特定实例上单击按钮

我有一个网页,其中有多个提交按钮。我想在它们之间循环并逐个单击

我知道我可以通过xpath这样做(//button[@class='submit'])[i](其中I=循环数)

但我想知道是否可以通过CSS选择器来实现

我尝试过button.submit,但它总是会单击第一个按钮,我希望能够循环通过。我也尝试过button.submit:first-child,但它似乎做了同样的事情

以下内容与HTML类似

<div>
    <button class="submit" type="button"></button>
</div>
<div>
    <button class="submit" type="button"></button>
</div>
<div>
    <button class="submit" type="button"></button>
</div>

共 (1) 个答案

  1. # 1 楼答案

    是的,你可以这样做:

    如果您使用的Java版本低于8,请执行以下操作:

    List<WebElement> elements = driver.findElements(By.cssSelector("button.submit"));
    
    WebElement confirm = driver.findElement(By.cssSelector("selector_for_confirm"));
    
    for(WebElement element: elements){
         element.click();
         confirm.click();
    }
    

    如果您使用的是Java 8或更高版本,可以尝试以下方法:

    List<WebElement> elements = driver.findElements(By.cssSelector("button.submit"));
    
    WebElement confirm = driver.findElement(By.cssSelector("selector_for_confirm"));
    
      elements.forEach(e->{
            e.click();
            confirm.click();
        });