Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver,Java-填写在新选项卡中打开的表单_Java_Selenium Webdriver - Fatal编程技术网

Selenium webdriver,Java-填写在新选项卡中打开的表单

Selenium webdriver,Java-填写在新选项卡中打开的表单,java,selenium-webdriver,Java,Selenium Webdriver,我点击图片,它会在新标签页打开表单,有一些单选按钮可以选择并完成表单。我能够打开新的标签页并将控制权传递给它,但不能点击单选按钮并完成表单。我尝试了很多方法 每当有新窗口打开时,在WebDriver中,您必须切换到窗口或框架才能执行任何操作 切换新打开的窗口的最佳方法可能是 Set<String> windowHandleSet = driver.getWindowHandles(); String[] windowHandles = new String[windowHandleS

我点击图片,它会在新标签页打开表单,有一些单选按钮可以选择并完成表单。我能够打开新的标签页并将控制权传递给它,但不能点击单选按钮并完成表单。我尝试了很多方法

每当有新窗口打开时,在WebDriver中,您必须切换到窗口或框架才能执行任何操作

切换新打开的窗口的最佳方法可能是

Set<String> windowHandleSet = driver.getWindowHandles();
String[] windowHandles = new String[windowHandleSet.size()];
windowHandles = windowHandleSet.toArray(windowHandles);
driver.switchTo().window(windowHandles[windowHandleSet.size() - 1]);
Set windowHandleSet=driver.getWindowHandles();
String[]windowHandles=新字符串[windowHandleSet.size()];
windowHandles=windowHandleSet.toArray(windowHandles);
driver.switchTo().window(windowHandles[windowHandleSet.size()-1]);

调用此代码后,您可以在新窗口中执行操作。

最重要的是,我们需要更多信息来帮助您。我们只是说,尝试了很多方法。那些是什么?你怎么说控件传递给了窗体?你说不能点击是什么意思您在许多方面得到/尝试的例外情况是什么,如1。使用xpath定位器的单选按钮和click方法。使用selectbyValue。我使用了两种方法将控制权传递给新选项卡,如:1。设置windowHandles=driver.getWindowHandles();Iterator it=windowHandles.Iterator();而使用的第二种方法是新操作(wd).sendKeys(wd.findelelement(By.tagName(“html”))、Keys.CONTROL).sendKeys(wd.findelelement(By.tagName(“html”))、Keys.NUMPAD2.build().perform();。当我点击单选按钮并完成表单时,我想看到它被选中。您得到的异常是什么?