java 实现 selenium 示例

java实现 selenium 流程自动化

需要工具:下载解压 chromedriver.exe 放到D盘或其他盘符

chrome浏览器要安装插件 selenium-ide这个插件 方便你录制浏览器动作 并且支持生成 java或其他语言代码。

java 具体实现代码

1.gradle或maven中引入以下jar包 此处以gradle为例

compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.141.59'

2.代码

 

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class BJSocialinsurance {
    private WebDriver driver;
    
    // 初始化
    public void setUp(){
         System.out.println("setUp");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--test-type");
        Map<String, Object> prefs = new HashMap<String, Object>();
        prefs.put("lang", "zh_CN.UTF-8");
        prefs.put("prompt_for_download", true);
        //options.addArguments("--start-maximized");
        //prefs.put("download.default_directory", "/pathToDownloadFolder");
        prefs.put("download.prompt_for_download", true);
        prefs.put("download.directory_upgrade", true);
        prefs.put("safebrowsing.enabled", true);
        options.setExperimentalOption("prefs", prefs);
        driver = new ChromeDriver(options);
    }
    
    // 模拟登录
    public void login() throws InterruptedException {
        // 打开某个网站
        driver.get("https://www.***.com");
        // 放大窗口
        driver.manage().window().setSize(new Dimension(1920, 1080));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请先登录,登录完按回车执行后续任务 :)");
        try {
            br.readLine();
        } catch (IOException ex) {
        }
        Thread.sleep(2000);
        // 获取页面中的iframe 以便于定位到页面元素
        driver.switchTo().frame("center");
        driver.switchTo().frame("leftFrame");
        Thread.sleep(2000);
        // 点击页面中的某个元素
        driver.findElement(By.id("link000")).click();
    }
    
    // 执行某些动作
    private void apply(){
        // 例如点击某个输入框
        driver.findElement(By.id("dataNormalAdd.idCard")).click();
        // 清除输入框中的内容
        driver.findElement(By.id("dataNormalAdd.idCard")).clear();
        // 粘贴动作
        driver.findElement(By.id("dataNormalAdd.idCard")).sendKeys(person.getCardId());
        // 操作页面复选框
        Select personType = new Select(driver.findElement(By.id("personType")));
        // 给复选框赋值
        personType.selectByIndex(0);
    }
    
    // 关闭浏览器
    public void tearDown(){
        driver.quit();
    }
    
    // 开始执行动作
    public static void main(String[] args) throws AWTException, InterruptedException {
        // 初始化
        setUp();
        // 登录
        login();
        // 执行操作
        apply();
        // 关闭
        tearDown();
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值