我在IE中使用Java Robot自動從一個站點下載文件。爲什麼Webdriver在IE中使用Robot下載後不再找到元素
在下載結束時,驅動程序不能再找到元素,包括我剛纔使用的元素。我檢查過驅動程序仍然有相同的窗口處理程序。
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失敗,就像之前工作的其他xpaths一樣。
如果您希望得到答案,您需要提供[mcve]。 – SiKing
對不起,我添加了驅動程序inits和頁面獲取。 – dranobob