Java 弹出窗口关闭后面临的问题,父窗口元素无法单击
操作系统: 视窗10 Selenium版本: 3.4.0 浏览器: Mozila Firefox 浏览器版本: 54.0.1 64位 GreckoDriver版本: v0.18.0 描述:弹出窗口后面临的问题。元素无法在下一窗口中单击 错误: 弹出窗口 By.name:btnClose [13,25,50] 在任务中引发并取消捕获了编码异常 完整消息:TypeError:尝试获取资源时出现NetworkError。 完整堆栈: 代码如下:Java 弹出窗口关闭后面临的问题,父窗口元素无法单击,java,selenium,selenium-webdriver,webdriver,geckodriver,Java,Selenium,Selenium Webdriver,Webdriver,Geckodriver,操作系统: 视窗10 Selenium版本: 3.4.0 浏览器: Mozila Firefox 浏览器版本: 54.0.1 64位 GreckoDriver版本: v0.18.0 描述:弹出窗口后面临的问题。元素无法在下一窗口中单击 错误: 弹出窗口 By.name:btnClose [13,25,50] 在任务中引发并取消捕获了编码异常 完整消息:TypeError:尝试获取资源时出现NetworkError。 完整堆栈: 代码如下: public static File pathBinar
public static File pathBinary = new File("C:\\program files\\Mozilla Firefox\\firefox.exe");
public static FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary);
@SuppressWarnings("deprecation")
public static WebDriver driver = new FirefoxDriver(firefoxBinary);
public static WebDriverWait wait =new WebDriverWait(driver,60);
public static String MainWindow=driver.getWindowHandle();
我想你必须确保你已经切换回了主窗口手柄,在弹出窗口关闭后尝试使用这个
driver.switchTo().window(0);
然后尝试搜索元素,或者您可以尝试:
再次切换到默认值
driver.switchTo().defaultContent();
要切换到帧,请执行以下操作:
driver.switchTo.frame("Frame_ID");
将来,如果可能的话,提供更多的代码,这样我们可以更好地理解您正在尝试做什么。似乎您的问题是将WebDriver的焦点切换到原始窗口。我使用的方法是: 创建一个数组以容纳所有窗口句柄: 关闭弹出窗口 将驾驶员焦点切换回原来的车窗 这应该会有帮助,除非我误解了您试图实现的目标。代码块中的弹出窗口在哪里?谢谢
ArrayList<String> windowhandlesArray = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(windowhandlesArray.get(1));
driver.close();
driver.switchTo().window(windowhandlesArray.get(0));