Откройте новый сеанс браузера в другом окне в Selenium - PullRequest
0 голосов
/ 12 января 2010

Я новичок в Selenium и только начал его использовать. Я хочу открыть новый сеанс браузера в другом окне, отличном от моего скрипта, и не знаю, как это сделать.

Я попытался использовать команду open и дал URL Firefox, но он открылся в том же окне.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2014
@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);
}
}
0 голосов
/ 28 апреля 2010

Попробуйте использовать openWindow вместо open. Если вы получили сообщение о том, что Firefox заблокировал всплывающее окно, разрешите всплывающие окна. Это, вероятно, откроет вкладку вместо окна, но, возможно, это будет соответствовать вашим потребностям.

...