判断是否可以点击

package PublicModel;

import org.openqa.selenium.*;
import org.openqa.selenium.interactions.Actions;
import Page.element;
import org.openqa.selenium.JavascriptExecutor;
public class LoginPub {
// ok
    public static void okclick(WebDriver driver) {
        if (element.isExistWebElement(driver, "//*[@id='okId']/span")) {
            element.ok_Button(driver).click();
        }
        // try {
        // element.ok_Button(driver).click();
        // } catch (Exception e) {
        // // TODO Auto-generated catch block
        // //e.printStackTrace();
        // }
    }
}




判断某个元素是否处于可单击状态并处于显示状态
package test;

import java.sql.Driver;

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.*;

public class TestDemo {
    WebDriver driver;
    String baseUrl;
    JavascriptExecutor js;

    @BeforeMethod
    public void beforeMethod() {
        baseUrl = "http://www.baidu.com";
        System.setProperty("webdriver.chrome.driver", "H:\Program Files\Java\chromedriver\chromedriver_x64.exe");
        driver = new ChromeDriver();
        driver.get(baseUrl);
    }

    @AfterMethod
    public void afterMethod() {
        // driver.quit();
    }

    @Test
    public void testHandleiFrame() throws Exception {
        WebElement searchBox = driver.findElement(By.id("kw"));
        WebElement searchBtn = driver.findElement(By.id("su"));
        searchBox.sendKeys("javaScript进行单击");
        JavaScriptClick(searchBtn);
    }

    public void JavaScriptClick(WebElement element) throws Exception {
        try {
            if (element.isEnabled() && element.isDisplayed()) {
                System.out.println("使用JavaScript单击");
                ((JavascriptExecutor) driver).executeScript("arguments[0].clik();", element);
            } else {
                System.out.println("页面元素无法单击");
            }
        } catch (StaleElementReferenceException e) {
            // TODO: handle exception
            System.out.println("页面元素没有在网页中" + e.getStackTrace());
        } catch (NoSuchElementException e) {
            // TODO: handle exception
            System.out.println("页面中没有找到要操作的元素" + e.getStackTrace());

        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("无法完成单击操作" + e.getStackTrace());
        }
    }

}




原文地址:https://www.cnblogs.com/cmm2016/p/5595899.html