【发布时间】:2017-07-03 18:23:01
【问题描述】:
我在页面上有一个编辑按钮。我想在新窗口中打开它。
目前,此代码将单击编辑按钮并在默认窗口中打开:
Actions actions = new Actions(driver);
JavascriptExecutor jse = (JavascriptExecutor) driver;
actions.moveToElement(elem1).click();
jse.executeScript("arguments[0].click()", elem1);
为了在另一个窗口中打开它,我尝试了类似的操作
Actions newwin = new Actions(driver);
newwin.keyDown(Keys.SHIFT).click(elem1).keyUp(Keys.SHIFT).build().perform();
但是,这会返回错误,因为它实际上并没有移动到元素并找到它。如果我在脚本运行时向下滚动到手动编辑按钮的位置,编辑页面将根据需要在新窗口中打开。 但是,我不想每次运行 Selenium 脚本时都必须手动向下滚动到编辑按钮。
我试着做这样的事情:
Actions newwin = new Actions(driver); newwin.moveToElement(elem1).keyDown(Keys.SHIFT).click(elem1).keyUp(Keys.SHIFT).build().perform();
但它仍然无法选择编辑元素并在新窗口中打开它。
有没有人知道我如何才能完成这项工作?
【问题讨论】:
标签: java selenium selenium-webdriver selenium-chromedriver