定制网站公司哪家好,开发工具指的是什么,百度链接提交,淘宝的网站怎么做一、前置说明
selenium遇到下面这种元素#xff1a;
th iddemo id classvalue1 value2 value3 1、虽然id一般不会有空格#xff0c;但是前端错误的这种写法(如下图)#xff0c;会造成使用id定位不到元素#xff0c;如#xff1a;
find…一、前置说明
selenium遇到下面这种元素
th iddemo id classvalue1 value2 value3 1、虽然id一般不会有空格但是前端错误的这种写法(如下图)会造成使用id定位不到元素如
find_element(id, demo id)这种写法会直接报错。
2、class属性有空格表示有多个属性一般的解决办法就是使用其中一个属性如
find_element(class name, value1)这种写法是可以定位到元素但是往往测试人员在使用时会将其错误的写成
find_element(class name, value1 value2 value3)二、解决方案
为了避免上述这种常见的错误可以写一个方法封装一下遇到这种错误时将其转为xpath定位即可。 def _fix_find_elements_by_multiple_values_error(self, by, value) - List[WebElement]:修复 find_elements 方法在使用 id 或 class name 定位时,value为复合值比如valuevalue1 value2可能引发的 InvalidArgumentException。try:return super().find_elements(by, value)except InvalidArgumentException as original_e:if by class name:by classtry:return super().find_elements(xpath, f//*[{by}{value}])except:raise original_e三、Demo验证
欢迎技术交流