先生,您可能在 Selenium WebDriver 中发现了一个错误(或至少是一个不一致的地方)。
看看这里有没有发现过,如果没有,请随意归档。
同时,您可以尝试使用“不稳定”加载策略进行FirefoxDriver
加载,然后(如果还不够)可能driver.manage().timeouts().pageLoadTimeout()
(仅适用于具有“不稳定”设置的 Firefox)。
作为一种解决方法,您可以尝试通过 JavaScript 单击选项卡 - 尽管我不确定它是否会起作用:
((JavascriptExecutor)driver).executeScript("document.getElementById('myTab').click()");
编辑:
作为另一种解决方法(受 Selenium RC 启发),您可以做些什么,您可以暂时禁用确认对话框...
// assuming your driver can handle JS ;)
JavascriptExecutor js = (JavascriptExecutor)driver;
// stores the original confirm() function and replaces it
js.executeScript("window.originalConfirm = window.confirm;"
+ "window.confirm = function(m) { return true; };");
driver.findElement(By.id("myTab")).click();
// it should not even fire the confirm and just proceed
// get the confirm back
js.executeScript("window.confirm = window.originalConfirm;");