【Python】Selenium元素定位错误之解决办法

当使用class定位元素时发现报错:

错误信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound class names not permitted(复合类的名称不允许)

网上查询资料得知:

className不允许使用复合类名做参数【原文】

真实环境中元素往往使用复合类名(即多个class用空格分隔),使用className定位时要注意了,className的参数只能是一个class。

例如图中显示的className名称为:btn btn-primary btn-md btn-block loginbutton log,我们要使用className定位这个元素。

如果取class全称则会报上面图中的错误,如果取一个class名driver.find_element_by_class_name("log").click(),则不会报错。

时间: 2024-10-19 21:38:47

【Python】Selenium元素定位错误之解决办法的相关文章

Python+Selenium元素定位不到的问题及解决办法

在做Web自动化测试的时候经常会遇到元素定位不到的问题,结合实例总结一下原因和解决方法: 1.由于iFrame或者Frame的原因无法定位 实例:163邮箱登录页面,发现邮箱和密码的inputbox识别不到,登录btn也识别不到 初始脚本: 原因分析: 查看页面发现是这三个元素是嵌入的iframe里边的,WebDriver只能识别一个页面中的元素,对于嵌入页面的元素是无法直接识别到的,如下图: 解决方案: 当元素处于iframe中,需要先跳转到iframe中才能被识别,如下: 调用_switch

python selenium 元素定位(三)

上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到这个元素,我们从能对这个元素进行操作,那么我们下来看看如何来定位元素. selenium 提供了8中元素定位的方法(大家要学习元素的定位,首先可以学习下前端的基础知识,这样有利于我们学习自动化测试,大家可以看一下:http://www.runoob.com/) find_element_by_id

使用python中出现的错误及解决办法

[问题1]在编译安装完Python后,不能正常使用yum,使用yum出现以下错误 [[email protected] bin]# yum  File "/usr/bin/yum", line 30    except KeyboardInterrupt, e:                            ^SyntaxError: invalid syntax [解决办法] 将/usr/bin/yum文件的第一行中的解释器转换回python-2.7 [[email prot

python打开文件常见错误及解决办法

打开文件注意事项: 打开文件时需要,填写正确的路径,需要配置与文件相同的编码方式打开位机例如'utf-8',需要以特定 的模式打开文件 r, w,r+,w+,rb,wb,a, a+,ab等模式 f.open('path', encoding='编码', mode='r') FileNotFoundError: [Errno 2] No such file or directory: 找不到文件: 1.可能是路径错误,检查路径,有可能是 \ 与后面的字符产生了特殊意义 解决办法:在盘符前加 r'd

python+selenium元素定位之XPath学习01

参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tutorial.html XML 实例文档 我们将在下面的例子中使用这个 XML 文档: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title

python+selenium元素定位之XPath学习02

XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 XML 文档. 实例 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="eng">Harry Potter&l

python编码错误的解决办法 SyntaxError: Non-ASCII character &#39;\xe5&#39; in file

[提出问题]. 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* ---------------------------------------------------------------------------------------------------------- [分析问题]. -----------------------------------

Python编码错误的解决办法SyntaxError: Non-ASCII character &#39;\xe5&#39; in file

[现象] 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* [原因] python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符. [解决办法] 在Python源文件的最开始一行,加入一句: # coding=UTF-8(等号换为”:“也可以) 或者 # -*- coding:UTF-8 -*- 转自[http://blog.cs

Python出现SyntaxError: Non-ASCII character &#39;\xe7&#39; in file 错误的解决办法

发现是因为Python在默认状态下不支持源文件中的编码所致.解决方案有如下三种: 一.在文件头部添加如下注释码: # coding=<encoding name> 例如,可添加# coding=utf-8 二.在文件头部添加如下两行注释码: #!/usr/bin/python # -*- coding: <encoding name> -*- 例如,可添加# -*- coding: utf-8 -*- 三.在文件头部添加如下两行注释码: #!/usr/bin/python # vi