Aka*_*van 3 javascript java selenium selenium-chromedriver selenium-webdriver
我无法使用JavaScript在Chrome浏览器中关闭标签页,以下代码中的最后一行js.executeScript("window.close()");不起作用。有人可以帮忙吗?
package TestCode;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Chrome {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver","C:\\Akash\\Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.gmail.com");
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.open('https://www.facebook.com')");
Thread.sleep(5000);
js.executeScript("window.close()");
}
}
Run Code Online (Sandbox Code Playgroud)
通过调用,js.executeScript("window.close()");您试图关闭主窗口,而不是刚刚打开的主窗口。要关闭弹出窗口,您需要以某种方式定位它或将其引用保存在JavascriptExecutor上下文中。
注意,那里的全局变量应该保留:
请注意,脚本完成执行后,局部变量将不可用,尽管全局变量将持续存在。
因此,您可以尝试执行以下操作:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("popup_window = window.open('https://www.facebook.com')");
Thread.sleep(5000);
js.executeScript("popup_window.close()");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |