手动点击一个按钮,浏览器转到一个新的URL;但是当我使用webdriver运行它时,它会打开一个新的浏览器

时间:2012-07-13 03:57:37

标签: java browser internet-explorer-8 webdriver selenium-webdriver

当我手动点击按钮时,浏览器(IE 8)会转到新的URL;但是当我使用webdriver运行它时,它会打开一个新的浏览器(IE 8)。如何在不打开新浏览器的情况下将其转到新网址?

driver.get(url);
driver.findElement(By.linkText(linkText)).click();
switchToFrame(frameName);
WebElement parent_element = driver.findElement(By.xpath(parent_xpath));
WebElement child_element = driver.findElement(By.xpath(child_xpath));
Actions action = new Actions(driver);
action.moveToElement(parent_element).build().perform();
child_element.click(); //it opens a new browser if i run webdriver

2 个答案:

答案 0 :(得分:0)

我使用此机制通过获取与xpath关联的href来停止selenium / webdriver打开新窗口。然后你可以使用selenium.open或driver.get在同一窗口中打开url,然后你就不必处理多个窗口了。以下是示例代码:

String Xpath =“/ html / body / div / div [2] / a”;
String href = selenium.getAttribute(“xpath =”+ Xpath +“@ href”);

selenium.open(HREF); //将打开baseURL / href

希望它有所帮助。

答案 1 :(得分:0)

答案有点笨拙,我会说,你可以尝试为你的链接使用String hrefMe = driver.getAttribute(“href”)。 然后driver.get(hrefMe);它不是点击,而是按照你想要的方式完成。