我正在尝试使用与动作类的硒在新窗口中打开HREF内容,但它行不通。任何帮助都将不胜感激。
我使用的是硒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();
它正在使用机器人类。
这是我的代码。
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);
尝试如下: -
builder.keyDown(Keys.SHIFT).click(abc).keyUp(Keys.SHIFT).build().perform();
希望它能起作用...:)
我看到您现在正在使用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