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;
}
}