gpt4 book ai didi

java - 如何使用java在selenium webdriver中的2个浏览器之间切换

转载 作者:行者123 更新时间:2023-12-01 09:04:44 24 4
gpt4 key购买 nike

我正在使用 java 开发 selenium webdriver。我想打开浏览器在其中执行一些操作。然后打开另一个浏览器并在其中执行相同的操作,然后返回第一个浏览器并执行一些操作。

如何在 2 个浏览器之间切换(不是在 2 个选项卡之间切换)?

这就是我所做的:

@BeforeTest
public void beforeTest() throws BiffException, IOException,InterruptedException {
System.setProperty("webdriver.chrome.driver","D:\\MyProjects\\SeleniumTrials\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(properties.getProperty("VAR_BASEURL"));
driver.manage().window().maximize();
WebDriver tempDriver = new ChromeDriver();
tempDriver.get(properties.getProperty("VAR_BASEURL"));
tempDriver.manage().window().maximize();
}
@Test
public void playTournament() throws InterruptedException, BiffException,IOException {
int rowNumber = 1;
int newRowNumber=2;
WebElement login =driver.findElement(By.xpath(properties.getProperty("VAR_LOGIN")));
login.click();
Thread.sleep(1000);
WebElement username = driver.findElement(By.xpath(properties.getProperty("VAR_USERNAME")));
username.clear();
username.sendKeys(getCellContent(0, rowNumber));
Thread.sleep(1000);
WebElement password = driver.findElement(By.xpath(properties.getProperty("VAR_PASSWORD")));
password.clear();
password.sendKeys(getCellContent(1, rowNumber));
Thread.sleep(1000);
WebElement continueButton = driver.findElement(By.xpath(properties.getProperty("VAR_CONTINUE")));
continueButton.click();
Thread.sleep(1000);

WebElement login =tempDriver .findElement(By.xpath(properties.getProperty("VAR_LOGIN")));
login.click();
Thread.sleep(1000);
WebElement username = tempDriver .findElement(By.xpath(properties.getProperty("VAR_USERNAME")));
username.clear();
username.sendKeys(getCellContent(0, rowNumber));
Thread.sleep(1000);
WebElement password = tempDriver .findElement(By.xpath(properties.getProperty("VAR_PASSWORD")));
password.clear();
password.sendKeys(getCellContent(1, rowNumber));
Thread.sleep(1000);
WebElement continueButton = tempDriver .findElement(By.xpath(properties.getProperty("VAR_CONTINUE")));
continueButton.click();

最佳答案

当你这样做时

WebDriver driver = new ChromeDriver();
driver = new ChromeDriver();

您重新初始化driver实例,这意味着您失去了第一个浏览器。您可以通过调用getWindowHandles()

来查看它
driver.getWindowHandles(); // will be 1, the last open browser

如果你想不同的浏览器使用临时驱动

WebDriver driver = new ChromeDriver();
WebDriver tempDriver = new ChromeDriver();

// do some stuff on tempDriver

tempDriver.close();

// continue working with the first driver

关于java - 如何使用java在selenium webdriver中的2个浏览器之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com