天天看點

使用Selenium操作JavaScript進行點選

package com.gloryroad.Demo;



 import org.openqa.selenium.By;

 import org.openqa.selenium.JavascriptExecutor;

 import org.openqa.selenium.WebDriver;

 import org.openqa.selenium.WebElement;

 import org.openqa.selenium.firefox.FirefoxDriver;

 import org.testng.annotations.AfterMethod;

 import org.testng.annotations.BeforeMethod;

 import org.testng.annotations.Test;



 public class JavaScriptExcutor {

/**

* 解決在某些環境下,使用click方法無效的情況

*/

public WebDriver driver;

private String url="http://www.sogou.com";


@BeforeMethod

public void setUp(){

driver=new FirefoxDriver();

driver.get(url);


}



@AfterMethod

public void tearDown(){

driver.close();

}


@Test

public void testHandlerFrame(){

WebElement searchinputbox=driver.findElement(By.id("query"));

WebElement searchButton=driver.findElement(By.id("stb"));

searchinputbox.sendKeys("使用JavaScript語句進行");

JavaScriptClick(searchButton);


}

public void JavaScriptClick(WebElement element){

try {


if (element.isEnabled() && element.isDisplayed()) {


((JavascriptExecutor)driver).executeScript("arguments[0].click();",element );



}else {

System.out.println("頁面上的元素無法進行點選操作");

}




} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}



}

 }      

繼續閱讀