我需要在新的Chrome窗口中打开网页上的链接。已有question
但这似乎是RC。我试过了
driver.getUserWindow().open("http.....");
但它没有用。可能有办法迫使Chrome为所有链接执行此操作吗?理想情况下,我想知道如何强制驱动程序在新窗口中打开链接。 (我正在使用java和OS Windows 7
答案 0 :(得分:6)
您可以使用Actions类来执行此操作。
Actions act = new Actions(driver);
WebElement onElement = Your element on which action has to be performed;
act.contextClick(onElement).perform();
act.sendKeys("w").perform(); // If you want the link to open in new tab then use T instead of w
希望这会有所帮助。快乐的编码。
答案 1 :(得分:2)
我不知道您使用的是哪种语言/操作系统,但是这里是如何使用Ruby和WebDriver在OS X的新窗口中打开链接:
link = driver.find_element(:tag_name => 'a')
action = driver.action
key = :command # replace with :control on Win/Linux
action.key_down(key)
action.click(link)
action.key_up(key)
action.perform
这将在新标签中打开链接。如果您需要新窗口,则应使用:shift
键。
您还可以覆盖元素的click
方法,因此它始终在新窗口中打开链接。
答案 2 :(得分:0)
您可以使用JS执行器方法从新标签页打开链接
public void openFromNewTab(WebElement element) {
((JavascriptExecutor) driver).executeScript("window.open('" + element.getAttribute("href") + "','_blank');");
}