2

ボタンを手動でクリックすると、ブラウザー (IE 8) は新しい URL に移動します。しかし、webdriver を使用して実行すると、新しいブラウザー (IE 8) が開きます。新しいブラウザを開かずに新しい URL に移動するにはどうすればよいですか?

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";
String href = selenium.getAttribute("xpath=" + Xpath+ "@href");

セレン.open(href); // baseURL/href を開きます

それが役に立てば幸い。

于 2012-08-01T00:19:57.263 に答える