Selenium:学习过程中遇到的坑集合

在学习过程中,遇到已下问题

问题一:

ChromeDriver error “unknown error: cannot get automation extension”

我用的chrome是70以上的版本,使用之前的chromedriver.exe时,报如上错误。

解决办法:很简单,更新chromedriver.exe版本

下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads

参考:https://stackoverflow.com/questions/42204586/chromedriver-error-unknown-error-cannot-get-automation-extension

问题二:比较坑爹。

如图:

在这里插入图片描述

描述:这个登陆元素,根据F12,得到两个。可以通过document.getElementsByClassName(‘moco-btn moco-btn-red’)查看。这样就导致,点击的时候,不知道这是哪一个元素。

解决办法1:

List<WebElement> checkboxs = driver.findElements(By.className("ant-checkbox-input")); 

checkboxs.get(i).click();

缺点:后前端代码有改变,那么我需要重新定位在第几个

解决办法2:

List<WebElement> checkboxs = driver.findElements(By.className("ant-checkbox-input"));
        System.out.println("checkboxs num is " + checkboxs.size());
        for(int i=0; i <checkboxs.size(); i++){
            System.out.println(checkboxs.get(i).getAttribute("outerHTML"));
            try {
                checkboxs.get(i).click();
                break;
            } catch (ElementNotVisibleException e) {
                continue;
            }

        }

缺点:要确认第一次的点击就是我们需要目标元素
我暂时使用的时第一种方法,毕竟时可以动业务上去确定哪一个才是我需要的。
问题完美解决。

参考:https://blog.csdn.net/chyo098/article/details/78921556

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值