Skip to main content
 首页 » 编程设计

python之如何使用 selenium 在 id 中找到包含某些字符串的元素

2025年05月04日23daizhj

我正在开发一些简单的爬虫来抓取 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)