seleniumWebDriver的API高級應用_11_1
1.//當element.click()失效時可用以下方法
//使用JavascriptExecutor對象的executeScript("arguments[0].click()",element)方法實現元素單擊動作
@Test
public void f() {
driver.get("http://www.sogou.com");
WebElementinputElement=driver.findElement(By.id("query"));
WebElementbuttonElement=driver.findElement(By.id("stb"));
inputElement.sendKeys("天氣");
//使用javascriptexecutor執行單擊按鈕
if(buttonElement.isEnabled()&&buttonElement.isDisplayed()){
try{
((JavascriptExecutor)driver).executeScript("arguments[0].click()",buttonElement);
}catch(Exceptione){
e.printStackTrace();
}
}else{
System.out.println("頁面上的元素沒有顯示出來或無法進行單擊操作");
}
}
2//在Ajax方式產生的浮動框中單擊選擇包含某個關鍵字的選項
driver.get("http://www.sogou.com");
WebElementinputBox=driver.findElement(By.id("query"));
inputBox.click();
Thread.sleep(3000);
List<WebElement>listResult=driver.findElements(By.xpath("/html/body/div[2]/div[2]/div[4]/div/div[1]/ul/li"));
for(WebElement we:listResult)
{
System.out.println(we.getText());
if(we.getText().contains("天氣")){
we.click();
break;
}
}