2

当我手动单击一个按钮时,浏览器(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
4

2 回答 2

0

答案有点老套,我会说,您可以尝试 String hrefMe=driver.getAttribute("href") 为您的链接。然后 driver.get(hrefMe); 它不是点击,而是完全按照您想要的方式进行。

于 2013-04-09T14:54:56.120 回答
0

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

字符串 Xpath = "/html/body/div/div[2]/a";
字符串 href = selenium.getAttribute("xpath=" + Xpath+ "@href");

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

希望能帮助到你。

于 2012-08-01T00:19:57.263 回答