selenium中class name带有空格的元素怎么定位报错InvalidSelectorError: Compound class names not permitted

List elements=driver.findElements(By.className(“col-xs-12 col-sm-12 col-md-12 col-lg-12”));
当我们用selenium库时,这样写就会报错
InvalidSelectorError: Compound class names not permitted
意思是定位语法错了。引起错误的原因是,classname中间带有空格,然后了解class属性,
class属性中间的空格并不是空字符串,那是间隔符号,表示的是一个元素有多个class的属性名称 (class属性是比较特殊的一个,除了这个有多个属性外,其它的像name,id是没多个属性的)
可以这样处理:
class=col-xs-12 col-sm-12 col-md-12 col-lg-12为例
1. 取单个class属性(如果属性唯一)
element=driver.findElement(By.className(“col-lg-12”));
2. css定位
element=driver.findElement(By.className(".col-xs-12.col-sm-12.col-md-12. col-lg-12"));
3. 取css的单个class属性也是可以的
element=driver.findElement(By.className(".col-xs-12"));
4. 直接包含空格的CSS属性定位大法(我觉得直接用这个比较舒服)
element=driver.findElement(By.cssSelector("[class=‘col-xs-12 col-sm-12 col-md-12 col-lg-12’]"));

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值