Java使用selenium的一些问题

Java使用selenium的一些问题

1、引入selenium依赖

		<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>

2、下载与本地Google对应的chromedriver驱动

网址:http://chromedriver.storage.googleapis.com/index.html

如找不到与自己浏览器匹配的版本,参考官网:https://chromedriver.chromium.org/downloads

3、项目内使用

		//path为你的驱动路径
		System.setProperty("webdriver.chrome.driver",path); 
        //为Chrome配置启动参数
        ChromeOptions chromeOptions = new ChromeOptions();
        //设置无头模式
        chromeOptions.setHeadless(true);
        //无沙箱模式
        chromeOptions.addArguments("--no-sandbox");
        //禁用GPU加速
        chromeOptions.addArguments("--disable-gpu");
        //最大分辨率,一定要加,特别是在linux系统中,不加的话不显示出来的地方不会被加载,无法被点击
        chromeOptions.addArguments("--window-size=1960,1080");
        //禁止加载图片,加快访问速度
        chromeOptions.addArguments("--blink-settings=imagesEnabled=false");
        //在启动浏览器时加入配置
        WebDriver webDriver = new ChromeDriver(chromeOptions);

当selenium在本地运行时没有问题,但是放到远程服务器上出现了无法定位到click元素的问题,这个问题的原因是浏览器视窗太小了造成的,使用selenium测试时,如果视窗不够大,相应的selenium模拟的点击自然点击不到被窗口遮挡的部分,自然就会报错,所以使用最大分辨率,确保被点击成功。

另一个问题是无法找到元素,如果本地没问题的话,可以延迟等待时间。

总结:Java的selenium没有python的好用(个人感觉),有兴趣的还是去学一下python的selenium

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值