Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
如何使用javascript executor在多个选项卡中运行javascript_Javascript_Java - Fatal编程技术网

如何使用javascript executor在多个选项卡中运行javascript

如何使用javascript executor在多个选项卡中运行javascript,javascript,java,Javascript,Java,我正在使用java中的javascript executor来制作selenium java中的执行脚本 我的问题是如何使用javascript在多个选项卡中运行javascript executor 我有一个java的解决方案,我可以使用它 driver.switchto(windowhandles). 但是我只需要基于javascript的输出 driver.get(URL1 ); JavascriptExecutor js = (JavascriptExecut

我正在使用java中的javascript executor来制作selenium java中的执行脚本

我的问题是如何使用javascript在多个选项卡中运行javascript executor

我有一个java的解决方案,我可以使用它

driver.switchto(windowhandles). 
但是我只需要基于javascript的输出

driver.get(URL1 );
            JavascriptExecutor js = (JavascriptExecutor) driver;
            JavascriptExecutor js1 = (JavascriptExecutor) driver;
                js.executeScript("window.document.addEventListener('click', function(e) {" 
                        +"console.log('Clicked');" 
                        +"console.log('');"                         
                        +"window.open('http://www.google.com', 'New Window', 'width=screen.width,height=screen.height');"
                        +"e.stopImmediatePropagation();"
                        + "})" 
                        );
                Thread.sleep(5000);
                List<String> browserWindow = new ArrayList<String>(driver.getWindowHandles());
                driver.switchTo().window(browserWindow .get(1));
                if(browserWindow.get(1) != null)    
                {
                    js1.executeScript(""
                            +"window.document.addEventListener('click', function(e) {" 
                            +"console.log('Clicked on new Window');" 
                            +"console.log('');" 
                            + "})" 
                            );
                }
            }           
     catch (Exception e) {
            e.printStackTrace();
        } 
driver.get(URL1);
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
JavascriptExecutor js1=(JavascriptExecutor)驱动程序;
js.executeScript(“window.document.addEventListener('click',函数(e){”
+“console.log('Clicked');”
+控制台日志(“”)
+“打开窗户。”http://www.google.com“,“新窗口”,“宽度=屏幕宽度,高度=屏幕高度”);”
+“e.停止即时复制();”
+ "})" 
);
睡眠(5000);
List browserWindow=new ArrayList(driver.getWindowHandles());
driver.switchTo().window(browserWindow.get(1));
if(browserWindow.get(1)!=null)
{
js1.executeScript(“”)
+window.document.addEventListener('click',函数(e){
+“console.log('单击新窗口');”
+控制台日志(“”)
+ "})" 
);
}
}           
捕获(例外e){
e、 printStackTrace();
} 

显示您的代码。我发布了我的代码。我刚刚注意到javascript执行器在所有选项卡中执行脚本。我打开了两个选项卡并执行document.title脚本,得到了两个选项卡的标题。