我在网站上有桌子。表格允许通过按Shift键和向下箭头键选择多行。

我正在尝试使用Selenium Webdriver执行相同的操作,但它不是一个接一个地选择行,而是选择行然后取消选择它并转到下一个...。

我的代码:

List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
    int x;
    for(x=0;x<TRcount.size();x++)
    {

        Actions rows = new Actions(Base.getdriver());

        rows.keyDown(TRcount.get(x),Keys.SHIFT).keyUp(TRcount.get(x+1), Keys.SHIFT).build();
        rows.build().perform();
        TRcount.get(x).click();

    }

最佳答案

您按keyDownkeyUp。尝试

Actions rows = new Actions(Base.getdriver());
rows.keyDown(Keys.SHIFT).perform();
for(x = 0 ; x < TRcount.size() ; x++)
{
    TRcount.get(x).click();
}

rows.keyUp(Keys.SHIFT).perform();


顺便说一句,perform()正在执行build(),无需同时调用它们。

09-27 08:53