2

我试图通过单击来选择表格中的一行,然后移动到第二个,按住 shift 或 control 并单击该行以突出显示两行。我在使用 selenium webdriver 和 java 时遇到了问题。我不明白为什么这段代码不起作用?它将选择第一行然后突出显示第二行但是当它单击第二行时第一行被取消选择?这是我正在使用的代码:

  new Actions(driver)
            .moveToElement(selectConsentRow)
            .click()
            .moveToElement(secondRow)
            .keyDown(Keys.SHIFT)
            .click()
            .perform();
4

2 回答 2

2

如果你不反对使用 jquery,那么你可以试试这个

driver.findelement(By.cssSelector(selectConsentRow_css_locator)).click();
   String script = "e = jQuery.Event('click');e.ctrlKey = true;    $('secondRow_Css_locator').trigger(e);";
   js.executeScript(script);
于 2013-07-08T13:47:26.040 回答
1

我设法用以下代码解决了这个问题:

 Robot robot = new Robot();
    selectConsentRow.click();
    robot.keyPress(KeyEvent.VK_CONTROL);
    secondRow.click();
    robot.keyRelease(KeyEvent.VK_CONTROL);
于 2013-07-03T10:23:49.353 回答