python - Selenium 用空格定位属性名称
问题描述
我目前正在学习 Selenium 进行网页抓取。但是,我发现了定位以下属性并获取属性链接的问题:
<a class="card cardListing" data-contentid href="/abc/def/gh.com"> == $0
我想从属性“data-contentid href”中获取“/abc/def/gh.com”。我试过driver.find_elements_by_xpath("//*[@data-contentid href]")
但被告知这是一个无效的选择器。
如果有人知道如何处理中间有空格的属性名称,你介意帮我弄清楚吗?
太感谢了。
解决方案
首先它的两个不同的属性data-contentid
和href
。并得到一个href = "/abc/def/gh.com"
. 你必须使用xpath
如下所示 -
注意 - 在您的代码中您正在使用find_elements
而不是find_element
. find_elements
将返回元素集合。
driver.find_elements_by_xpath("//a[@href='/abc/def/gh.com']")
推荐阅读
- python - 如何使用 django 中的 filesystemstorage 从上传的文件中提取数据?
- excel - Excel VBA 使用 ExportAsFixedFormat 创建 PDF 经常挂起
- python - Discord Python 命令参数
- laravel - 我想在我的表中获取数据,这是 laravel 中的枚举数据
- python - 是否有临时目录或直接方式在 azure 存储中上传文件?
- reactjs - 出现意外错误:“https://registry.yarnpkg.com/@tsnpm/uikit/-/uikit-0.7.26.tgz:请求失败\“404 Not Found\”
- php - 使用 nginx 在生产服务器上部署后 Laravel 资产和路由返回 403
- javascript - Typeorm 中的关系
- amazon-web-services - AWS Lambda 函数中未定义的 reCaptcha 变量
- google-bigquery - 在 Google Bigquery 中找不到“保存结果”按钮