2010-01-12 89 views

回答

0

嘗試使用openWindow而不是open。如果您收到Firefox阻止彈出窗口的消息,請允許彈出窗口。這可能會打開一個選項卡而不是一個窗口,但也許這將適合您的需求。

0
@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); 
} 
}