python - Facebook Selenium如何获得喜欢的人数

标签 python selenium web-scraping error-handling

我正在尝试使用以下代码获取喜欢该帖子的人数。我尝试了两种方法都不起作用。它确实返回错误代码。
有人可以帮助,对此表示感谢。
源代码: https://m.facebook.com/ufi/reaction/profile/browser/?ft_ent_identifier=3647203655325514
enter image description here

def get_likes(self):
    return self.driver.find_element_by_xpath('//span[@data-store="{"reactionType":1}"]/span/span').get_attribute("innerHTML")

def get_likes(self):
return self.driver.find_element_by_xpath('//span[@data-store="{\"reactionType\":1}"]/span/span').get_attribute("innerHTML")
语法错误:无法对“文档”执行“评估”:字符串'//span [@ data-store =“{” reactionType“:1}”]/span/span'不是有效的XPath表达式。

最佳答案

还尝试以不同的方式进行转义,但结果相同-似乎xpath与html中的"有问题,意味着它们已关闭,因此driver.find_element_by_xpath('//span[@id="u_0_r"]').get_attribute('data-store')仅检测开头{div的ID是自动生成的,其图标的位置按点击次数排序。
您可以使用class标记的i,直到找到一个更好的解决方案为止,这确实会让我感兴趣:

from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\Program Files\ChromeDriver\chromedriver.exe')

html_content = '''
<div class="scrollAreaColumn">
        <span name="one" data-store="{"reactionType":1}">
         <span>133</span>
        </span>
        <span name="two" data-store="{"reactionType":1}">
         <i class="_2ep2 img sp_FnpQQMXWL5W sx_4760b1"></i>
         <span>128</span>
        </span>
        <span name="three" data-store="{"reactionType":1}">
         <i class="_2ep2 img sp_FnpQQMXWL5W sx_4760b1 xyz"></i>
         <span>128</span>
        </span>
</div>       
'''
driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=html_content))
count = driver.find_element_by_xpath('//i[@class="_2ep2 img sp_FnpQQMXWL5W sx_4760b1"]/following-sibling::span').text
print(count)

driver.close()

关于python - Facebook Selenium如何获得喜欢的人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65214497/

相关文章:

python - 使用flask可以播放数据库中保存的视频吗?

python - Selenium - 引发 httplib.BadStatusLine

javascript - Firefox 配置文件设置在带有 selenium webdriver 配置的 Protractor 中抛出错误

html - 来自 10-K EDGAR 的网页抓取风险因素

javascript - 如何使用 VBA 定位 onmouseover 元素?

python - 如何在 ttk.OptionMenu 周围制作边框

python - DRF - PrimaryKeyRelatedField 中的过滤查询集

python - django-sorcery 不会自动生成迁移

java - 使用忽略大小写的属性查找元素

php - curl 无法将数据发布到 php 页面