赞
踩
用selenium调试的时候,有遇到这个错误:
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified
这个错误,我遇到的有三种原因:
①
定位器:CSS_SELECTOR 方法:[@ = ]
定位属性:class
错误原因:定位的WebElement有多个class属性值(class=后以空格分隔的几个就是几个class属性值),但直接写空格[class='x y'])
修改方法:Ⅰ将多个class属性用.方法写多个(.x.y)
Ⅱ只写(查找)独特的class [class='x'])
Ⅲ若class均不唯一,前后补一个同时查找的属性,使其唯一
备注:XPATH反而要把多个class属性值用空格隔开的方式全部写出来才合法。
②
定位器:CSS_SELECTOR 方法:#
定位属性:id
错误原因:用#定位id,但数字开头
修改方法:[id='数字开头的字符串']
③
定位器:CSS_SELECTOR 方法:[@ = ](误) (如[@typeq='x'])
定位属性:任意属性
错误原因:在中括号里面加了个"@",这是XPATH定位任意属性的方式
修改方法:[ = ] (例子:[typeq='x'])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。