我正在开发一些简单的爬虫来抓取 Twitter 上的转发计数。 我坚持这个:
<span class="ProfileTweet-actionCountForAria" id="profile-tweet-action-retweet-count-aria-123456789123456789">리트윗 0개</span>
这就是我要收集的目标标签。你可以看到标签的 id 对于每个用户都有一些不同的 id 号。所以我试图像这样用 find_elements_by_xpath 收集那些:
retweets = driver.find_elements_by_xpath("//span[@id='profile-tweet-action-retweet-count-area-*'].text")
我认为 * 在 selenium 的某些地方工作,但它在那个代码中不起作用。
因此,简而言之,我如何找到 ID 包含“profile-tweet-action-retweet-count-area”的元素?
感谢您的关注。我找不到这样的问题(也许我没有用正确的问题搜索它,嗯),但我也找到了很好的引用资料或其他链接!
请您参考如下方法:
CSS 选择器将是:
span[id*="profile-tweet-action-retweet-count-aria"]
或者更好的 css 选择器是:
span[id^='profile-tweet-action-retweet-count-aria']
如果您有多个条目,您可以使用 find_elements 方法,它会为您提供 list web 元素。
如果您不想要 css 选择器并且想坚持使用 xpath:
//span[contains(@id,"profile-tweet-action-retweet-count-aria")]
代码:
list_retweet = driver.find_elements_by_xpath("//span[contains(@id,"profile-tweet-action-retweet-count-aria")]")
for retweet in list_retweet:
print(retweet.text)
