无法在selenium中打开新选项卡或新窗口



我正试图使用Keys.CONTROL+"t"在Chrome中打开一个新选项卡,但不起作用。这是代码

System.setProperty("webdriver.chrome.driver", "C:/Downloads/New folder/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");               
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");

执行完脚本后,chrome启动并加载google.com,但新的选项卡并没有打开。

操作系统:Win-10

硒版本:Selenium-java-3.13.0

Chrome版本:版本68.0.3440.84(官方版本((64位(

硒3.13.0有问题吗?还是我做错了什么。

PS:我试过使用JavascriptExecutor,它运行得很好。我需要知道driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");工作不正常的原因。

提前感谢

试试这个答案,它对我来说很好

public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "C:/Users/sankalp.gupta/Desktop/JAVASELN/chromedriver.exe");
System.out.println("Ready to launch the browser");
WebDriver driver = new ChromeDriver();
driver.get("http://yahoo.com");  
((JavascriptExecutor)driver).executeScript("window.open()");
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://google.com");
}

}

您可以尝试以下操作:

//Simulate pressing many keys at once in a "chord". 
String openNewTab = Keys.chord(Keys.CONTROL, "t");
driver.findElement(By.cssSelector("body")).sendKeys(openNewTab); 

如果你还面临任何问题,请告诉我。

尝试使用机器人类

WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);    
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_T);
robot.keyRelease(KeyEvent.VK_T);
robot.keyRelease(KeyEvent.VK_CONTROL);

以下是打开新选项卡/窗口并检查是否打开了新选项卡的代码。如果打开,切换到那个窗口。

windows1 = driver.window_handles
driver.execute_script('window.open()')
windows2 = driver.window_handles
new_windows = list(set(windows2) - set(windows1))
if len(new_windows) == 0:
print 'ERROR: no new tabs found'
elif len(new_windows) > 1:
print 'ERROR: multiple new tabs found: ' + new_windows
else:
new_window = new_windows[0] 
driver.switch_to_window(new_window)

相关内容

  • 没有找到相关文章

最新更新