Java 如何使用Selenium在Chrome浏览器上打开新选项卡
我尝试了以下解决方案,但没有成功,我正在使用Selenium 3.9.1和Chrome v66.0.3,我们还有其他替代解决方案吗:Java 如何使用Selenium在Chrome浏览器上打开新选项卡,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,我尝试了以下解决方案,但没有成功,我正在使用Selenium 3.9.1和Chrome v66.0.3,我们还有其他替代解决方案吗: Solution 1: driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "/t"); ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
Solution 1:
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "/t");
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://google.com");
Solution 2:
Actions act = new Actions(driver);
act.keyDown(Keys.CONTROL).sendKeys("t").keyUp(Keys.CONTROL).build().perform();
解决方案1:
driver.findElement(通过.cssSelector(“body”)).sendKeys(Keys.CONTROL+“/t”);
ArrayList tabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
驱动程序。获取(“http://google.com");
解决方案2:
动作动作=新动作(驱动);
act.keyDown(Keys.CONTROL).sendKeys(“t”).keyUp(Keys.CONTROL).build().perform();
在新选项卡中打开链接的唯一方法是模拟键盘快捷键。以下内容在FFX、Chrome和IE中适用
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");
WebDriver=new ChromeDriver();
驱动程序。获取(“http://yahoo.com");
((JavascriptExecutor)driver.executeScript(“window.open()”);
ArrayList tabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
驱动程序。获取(“http://google.com");
附言
在这里查看此错误->为什么不使用
JavaScriptExecutor
打开一个新窗口并切换到它
现在确定Java语法,但在量角器中可能是这样的
browser.executeScript('window.open()').then(function () {
browser.getAllWindowHandles().then(function (handles) {
var secondWindow = handles[1];
browser.ignoreSynchronization = true;
browser.switchTo().window(secondWindow).then(function () {
browser.get('https://google.com');
});
});
});
String baseUrl=”http://www.google.co.uk/";
get(baseUrl);
((JavascriptExecutor)driver.executeScript(“window.open()”);
Set tabs=new HashSet();
tabs=driver.getWindowHandles();
List li=新阵列列表(选项卡);
driver.switchTo().window(li.get(1));
驱动程序。获取(“https://www.fb.com");
我想我已经看到了Ctrl+T
在量角器测试中的工作
String baseUrl = "http://www.google.co.uk/";
driver.get(baseUrl);
((JavascriptExecutor) driver).executeScript("window.open()");
Set<String> tabs = new HashSet<String>();
tabs = driver.getWindowHandles();
List<String> li = new ArrayList<String>(tabs);
driver.switchTo().window(li.get(1));
driver.get("https://www.fb.com");