0
我是Selenium的新手,剛開始使用它。我想在與我的腳本不同的窗口中打開一個新的瀏覽器會話,但不知道如何操作。在Selenium的另一個窗口中打開新的瀏覽器會話
我嘗試使用open命令並給了Firefox Url,但它在同一個窗口中打開。
任何想法?
我是Selenium的新手,剛開始使用它。我想在與我的腳本不同的窗口中打開一個新的瀏覽器會話,但不知道如何操作。在Selenium的另一個窗口中打開新的瀏覽器會話
我嘗試使用open命令並給了Firefox Url,但它在同一個窗口中打開。
任何想法?
嘗試使用openWindow而不是open。如果您收到Firefox阻止彈出窗口的消息,請允許彈出窗口。這可能會打開一個選項卡而不是一個窗口,但也許這將適合您的需求。
@Test
public void Test01() throws Exception {
openTab("http://www.xyz.com");
}
這將打開一個不同的Firefox窗口。然後Handle切換新窗口。
public void trigger(String script, WebElement element) {
((JavascriptExecutor) driver).executeScript(script, element);
}
public Object trigger(String script) {
return ((JavascriptExecutor) driver).executeScript(script);
}
public void openTab(String url) {
String script = "var d=document,a=d.createElement('a');a.target='_blank';a.href='%s';a.innerHTML='.';d.body.appendChild(a);return a";
Object element = trigger(String.format(script, url));
if (element instanceof WebElement) {
WebElement anchor = (WebElement) element;
anchor.click();
trigger("var a=arguments[0];a.parentNode.removeChild(a);", anchor);
} else {
throw new JavaScriptException(element, "Unable to open Window", 1);
}
}