Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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
Java Selenium,打开新窗口_Java_Html_Selenium_Selenium Webdriver - Fatal编程技术网

Java Selenium,打开新窗口

Java Selenium,打开新窗口,java,html,selenium,selenium-webdriver,Java,Html,Selenium,Selenium Webdriver,我试图使用selenium和java单击链接或按钮(如下html所示),断言选项卡或窗口的数量增加,然后只关闭新的选项卡/窗口 <div id="req7"> <h2>Test #7</h2> <button onclick="window.open('');" name="button">Open New Window</button> <br> <a target="_blank" href="about:blan

我试图使用selenium和java单击链接或按钮(如下html所示),断言选项卡或窗口的数量增加,然后只关闭新的选项卡/窗口

<div id="req7">
<h2>Test #7</h2>
<button onclick="window.open('');" name="button">Open New Window</button>
<br>
<a target="_blank" href="about:blank" name="newTab">Open New Tab</a>
</div>

测试#7
打开新窗口


我将如何在Java中实现这一点?谢谢

单击按钮

// driver can be chrome or something 
WebDriver driver = new FirefoxDriver();
driver.get("http://somedomain/url_that_delays_loading");
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.name("button"))); 
myDynamicElement.click();
如果要检查是否打开了新选项卡或窗口,应获取句柄的长度

//---- before click -----
int initalHandleCount = driver.getWindowHandles().size();

// ---- after click ----- 
boolean hasNewPage = initalHandleCount < driver.getWindowHandles().size(); 
/----单击之前-----
int initalHandleCount=driver.getWindowHandles().size();
//-----单击后------
布尔hasNewPage=initalHandleCount
编辑您的问题,以包含Java webdriver代码的相关部分。