2

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

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 
+1

任何代码描述你正在尝试做什么? – mariusnn 2012-07-13 04:12:50

+0

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(); //它打开一个新的浏览器,如果我运行webdriver – 2012-07-13 06:03:55

+0

而按钮本身? – mariusnn 2012-07-13 12:32:31

回答

0

我用这个机制来阻止硒/ webdriver通过获得与xpath关联的href来打开一个新窗口。然后,您可以使用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

希望它有帮助。

0

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

相关问题