首页 > 解决方案 > 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]")但被告知这是一个无效的选择器。

如果有人知道如何处理中间有空格的属性名称,你介意帮我弄清楚吗?

太感谢了。

标签: pythonseleniumweb-scrapingselenium-chromedriver

解决方案


首先它的两个不同的属性data-contentidhref。并得到一个href = "/abc/def/gh.com". 你必须使用xpath如下所示 -

注意 - 在您的代码中您正在使用find_elements而不是find_element. find_elements将返回元素集合。

driver.find_elements_by_xpath("//a[@href='/abc/def/gh.com']")

推荐阅读