InvalidSelectorError: Compound class names not permitted报错处理
InvalidSelectorError: Compound class names not permitted报错处理
环境:python3.6 + selenium 3.11 + chromedriver.exe
我们在解析网页的时候,总是会遇到大量的tag,如何精确定位到这些tag,也是有很多的方法。
今天在用 find_element_by_class_name获取一个节点对象时,报了个错 Compound class names not permitted.
原始代码:
selected_div = driver.find_element_by_class_name('next-pagination next-pagination-normal next-pagination-medium medium pagination')
修改后的代码:
selected_div = driver.find_element_by_css_selector("[class='next-pagination next-pagination-normal next-pagination-medium medium pagination']")
或者:
selected_div = driver.find_element_by_css_selector(".next-pagination.next-pagination-normal.next-pagination-medium.medium.pagination")
这两段代码都可以正常获取到所需对象。
总结:
在获取包含多个class名称的tag对象时
建议使用:
find_element_by_css_selector(".xx.xxx.xxxxx")
或者
find_element_by_css_selector("[class='xx xxx xxxxx']")
最新文章
- js下载项目中的文件
- 无法进入adb shell,提示unknown host service的解决办法
- 优化SQL查询:如何写出高性能SQL语句
- MEF(Managed Extensibility Framework) 微软平台插件化开发
- P25、面试题1:赋值运算符函数
- 写Java程序要体现面向对象
- java学习:用反射构造bean
- QT获得所有系统环境变量(包括Linux和MAC的信息)
- git 在linux中的使用
- vector容器
- mac下通过xcodebuild使用oclint
- Calling 64-bit assembly language functions lodged inside the Delphi source code
- SQL Server 数据库连接方法
- make和makefile简明基础
- Mongodb的基本语法
- High-level structure of a simple compiler高級結構的簡單編譯器
- Huawei DHCP 中继配置实例
- leetcode179
- Tomcat 设置URI默认字符集为UTF-8
- Linux下nginx安装与配置