我正在尝试使用selenium和Action类在新窗口中打开href内容,它不起作用。任何帮助表示赞赏。
我使用的是selenium 2.47.1和chrome驱动程序(浏览器版本52)
WebElement abc = driver.findElement(link);
Actions builder = new Actions(driver);
builder.contextClick(abc).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build().perform();
//builder.contextClick(abc).build().perform();
//Actions click=builder.moveToElement(abc).contextClick();
//click = click.sendKeys(Keys.ARROW_DOWN);
//click.moveByOffset(10,10).click().build().perform();
//builder.keyDown(Keys.SHIFT).click(abc).keyUp(Keys.SHIFT).build().perform();
答案 0 :(得分:0)
尝试如下: -
builder.keyDown(Keys.SHIFT).click(abc).keyUp(Keys.SHIFT).build().perform();
希望它能奏效...... :)
答案 1 :(得分:0)
它正在使用Robot类。
这是我的代码。
Actions builder = new Actions(driver);
//builder.contextClick(abc).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build().perform();
builder.contextClick(abc).perform();
Thread.sleep(2000);
Robot robo = new Robot();
robo.keyPress(KeyEvent.VK_DOWN);
robo.keyPress(KeyEvent.VK_ENTER);
robo.keyRelease(KeyEvent.VK_DOWN);
robo.keyRelease(KeyEvent.VK_DOWN);
robo.keyRelease(KeyEvent.VK_ENTER);
答案 2 :(得分:0)
我发现你现在正在使用Robot
课程。当你想要一次运行大量测试时,我强烈建议不要使用它来限制你。
尝试使用新的window
:
WebElement abc = driver.findElement(link);
abc.sendKeys(Keys.SHIFT, Keys.RETURN);
或者您也可以打开一个新的tab
而不是全新的window
:
WebElement abc = driver.findElement(link);
abc.sendKeys(Keys.CONTROL, Keys.RETURN);
注意:Keys.CONTROL
应替换为mac上的Keys.COMMAND