簡體   English   中英

無法在瀏覽器中打開新標簽。 它將第二個URL加載到同一選項卡中

[英]Unable to open a new tab in the browser. It loads the 2nd url in the same tab

我正在嘗試在瀏覽器中打開一個新選項卡。 但是,它將在同一選項卡中打開第二個URL。

碼:

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

public class ChromeFlock {

    public static void main(String[] args) throws Exception {       WebDriver driver;       System.setProperty("webdriver.chrome.driver", "C:\\Automation\\chromedriver_win32\\chromedriver.exe");      driver = new ChromeDriver();
        driver.manage().window().maximize();

        String baseUrl = "http://www.google.co.uk/";
        driver.get(baseUrl);

        Thread.sleep(3000);

        String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");
        driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab);

        driver.get("http://www.facebook.com");  }

}

使用JavascriptExecutor如下:

((JavascriptExecutor) driver).executeScript("window.open('http://www.facebook.com');");

也許您沒有切換到新選項卡,這導致僅在父選項卡上啟動第二個鏈接。

您可以通過模擬鍵盤的Ctrl + t鍵,使用Robot類來打開新標簽頁。 然后,您需要使用driver.switchTo()命令切換到新選項卡

有關代碼段和詳細信息,請檢查此內容。 在Selenium中打開一個新選項卡

您可以使用鍵盤仿真:

new Actions(driver).sendKeys(Keys.Control + 'w').build.perform(); // or + 't'
driver.get("http://www.facebook.com");

或使用JavaScriptExecutor:

((JavascriptExecutor) driver).ExecuteScript("window.open('http://www.facebook.com','_blank');");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM