IEのJavaロボットを使用してサイトからファイルをダウンロードすることを自動化しています。IEをダウンロードするためにRobotを使用した後、Webdriverが要素を検出しないのはなぜですか?
ダウンロードが終わると、ドライバは私が使ったものを含めてもはや要素を見つけることができません。私はドライバがまだ同じウィンドウハンドラを持っていることを確認しました。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
WebDriver driver = new FirefoxDriver();
driver.get("http://somepage");
Robot robot = new Robot();
WebElement exportButton = driver.findElement("//*[contains(@href,'stuff')]");
exportButton.sendKeys("");
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
// Wait for Save As dialog
Thread.sleep(2000);
// Tab over to Save button
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_ALT);
Thread.sleep(2000);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
Thread.sleep(2000);
// Press Enter on Save button
robot.keyPress(KeyEvent.VK_ENTER);
// This will throw a Webdriver Exception that it could not be found.
driver.findElement("//*[contains(@href,'stuff')]);
この最後のfindElementは、他の以前に動作していたxpathと同様に失敗します。
回答が必要な場合は、[mcve]を入力する必要があります。 – SiKing
申し訳ありませんが、私はドライバを追加し、ページを取得します。 – dranobob