簡體   English   中英

如何在 java 中使用 selenium 在兩個或多個 chrome 瀏覽器 windows(不是標簽)之間切換?

[英]How to switch between two or mutlple chrome browser windows (Not tabs) using selenium in java?

這是我想要切換的代碼。 我在用戶 X 處做了一些事情,然后通過調用 openbrowser() 方法再次登錄到用戶 y 並做一些事情,現在想再次切換到 X 用戶 chrome 瀏覽器以進行下一步操作。

public static void openbrowser() {
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-notifications");
    System.setProperty("webdriver.chrome.driver", "/home/chromedriver");
    driver = new ChromeDriver(options);
    driver.manage().window().maximize();
    driver.manage().deleteAllCookies();
    driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
    
    
public static void navigateAppUrl(int row, int column) throws Exception {
    driver.get(excel.readData(row , column));
}
    
public static void LogintoXUser() {
    //Do some stuff//
}
    
public static void LogintoYUser() {
    //Do some stuff//
}
    
public static void main(String args[]){
    openbrowser();
    navigateAppUrl(1,2);
    LogintoXUser()
    
    // new chrome browser instance is created 
    openbrowser();
    navigateAppUrl(1,2);
    LogintoYUser()
}

將方法openbrowser()更改為WebDriver 您可以創建更多的 WebDriver 實例並任意使用它們。

public static WebDriver openbrowser() {
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--disable-notifications");
        System.setProperty("webdriver.chrome.driver", "/home/chromedriver");
        WebDriver driver = new ChromeDriver(options);
        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        return driver;
    }

    public static void main(String args[]){
        WebDriver driver1 = openbrowser();
        // do some staff with driver1
        
        WebDriver driver2 = openbrowser();
        // do some staff with driver2

       // continue with some staff with driver1
       driver1....

       // continue with some staff with driver2
       driver2....

    }

暫無
暫無

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

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