2017-08-24 197 views
0

我想用下面的代码无法使用硒的webdriver

driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "t")); 

但标签行不对外开放打开硒新标签在浏览器中打开新的标签页。任何人都可以告诉这个命令有什么不对吗? 也可以用这个命令中的任何一个解释"driver.findElement(By.cssSelector("body"))"?我试过搜索但没有正确的答案

下面的完成不起作用。它是在同一选项卡中的铬开放Gmail和堆栈溢出不是chord使用control

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t"); 

开辟了新的选项卡

package TestCode; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.Keys; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 

public class Chrome { 

    public static void main(String[] args) throws InterruptedException { 
     // TODO Auto-generated method stub 

     System.setProperty("webdriver.chrome.driver","C:\\Akash\\Drivers\\chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 
     driver.get("https://www.gmail.com"); 
     String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL+"t"); 
     driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     driver.get("https://stackoverflow.com/"); 
     System.out.println("Site open"); 
    } 

} 
+0

由于机身是它在HTML – iamsankalp89

回答

2

你可以使用javaScript s在铬中打开新标签。

试试下面的代码行

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("window.open('https://www.google.com','_blank');"); 

请参考以下链接: - link

+0

windows.open()为不同的浏览器铬实施不同,它工作正常,对于铬它打开新标签,但对于Firefox它是打开新的浏览器:( –

+0

不,它将相同的Firefox也我已经​​尝试和它工作得很好pe..type在火狐控制台window.open(“https://www.google.com”,“_blank”); –

+0

它在控制台它打开Firefox的新选项卡,但在测试脚本它打开新窗口 –

0

代替镀铬使用本

第一次打开的标签然后点击网址

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL+"t"); 
driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.get("https://stackoverflow.com/"); 
System.out.println("Site open"); 
+0

定义的通用元素或标签这个我试过,其工作对Firefox,但不是工作在Chrome浏览器:( –

+0

等待,我会给一个铬的解决方案 – iamsankalp89

+0

请试试这个 – iamsankalp89