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();

}



}

}