如何通过Selenium';谁是网络驱动程序?

如何通过Selenium';谁是网络驱动程序?,selenium,Selenium,我有一行代码: final WebElement button = driver.findElement(By.tagName("button")); 现在,如何在按住meta键的情况下单击该按钮?hmm。。我对java不是很确定,但在C中,这是通过ActionBuilder完成的-- 找到了 现在,如果它真的能工作的话。根据Madd0g,java代码如下所示: Actions shiftClick = new Actions(driver); shiftClick.keyDown(K

我有一行代码:

final WebElement button = driver.findElement(By.tagName("button"));

现在,如何在按住meta键的情况下单击该按钮?

hmm。。我对java不是很确定,但在C中,这是通过ActionBuilder完成的--

找到了


现在,如果它真的能工作的话。

根据Madd0g,java代码如下所示:

  Actions shiftClick = new Actions(driver);
  shiftClick.keyDown(Keys.SHIFT).click(element).keyUp(Keys.SHIFT).perform();

是否没有
perform()
方法?我想应该有。此外,我相信您负责释放修改键(因此您还需要
keyUp()
),FF8和Chrome的驱动程序显然存在问题,这正是我所要解决的问题。您使用的是最新版本的webdriver吗?FF8支持是最近才出现的
 final WebElement button = driver.findElement(By.id("button"));
    Actions actions = new Actions(driver);
    if (ctrlKey) {
        actions = actions.keyDown(Keys.CONTROL);
    }
    if (altKey) {
        actions = actions.keyDown(Keys.ALT);
    }
    if (shiftKey) {
        actions = actions.keyDown(Keys.SHIFT);
    }
    actions = actions.click(button);
  Actions shiftClick = new Actions(driver);
  shiftClick.keyDown(Keys.SHIFT).click(element).keyUp(Keys.SHIFT).perform();