python - 如何单击“查看更多”链接并通过 Selenium 和 Python 抓取内容

标签 python selenium selenium-webdriver web-scraping webdriver

我正在使用 Selenium 来抓取客户评论和其他感兴趣的数据(给出的星星数量、评论日期、有多少人认为它有用等)

除了一些评论很长并且有一个“查看更多”按钮可以显示更多文本之外,我一切都正常。我似乎无法捕捉这段文字。我正在使用 driver.find_elements_by_xpath

以下是第一篇文章中带有“查看更多”的网页示例: https://www.consumeraffairs.com/insurance/metlife_disabil.html?page=3

我尝试使用以下几种变体进行抓取:

review_SeeMore = driver.find_elements_by_xpath('(//div[@class="js-collapsed"]/p)')

我认为我不必这样做,但我也尝试使用以下选择器单击按钮:

review_SeeMore = driver.find_elements_by_xpath('(//div[@class="js-expanded"]/p)')

最佳答案

使用get_attribute提取隐藏内容

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://www.consumeraffairs.com/insurance/metlife_disabil.html?page=3')
review_SeeMore = driver.find_elements_by_xpath('(//div[@class="rvw-bd ca-txt-bd-2"])')
for review in review_SeeMore:
        for paragraph in review.find_elements(By.TAG_NAME, "p"):
            print paragraph.get_attribute('textContent').encode("utf-8")
        print '\n============================\n'

关于python - 如何单击“查看更多”链接并通过 Selenium 和 Python 抓取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53162753/

相关文章:

internet-explorer - Selenium WebDriver 在 IE 浏览器的文本字段中输入速度非常慢

python - Selenium 实现 Try except 并写入 JSON

java - 是否可以将 chrome webdriver 文件设置为 URL?

python - OpenCV 视频捕获在 Anaconda 中失败

OS X Yosemite 上的 Python 解释器——使用哪一个?

java - 如何从性能日志计算页面加载时间、domContentLoaded 时间(即公式)?

testing - Selenium 网络驱动程序。 Internet Explorer 9 中的鼠标操作不准确

python - 从复制和粘贴的 doctest 中删除 '>>> '

python - 错误 : No module named 'psutil'

Python Selenium 无法从 mpob 网站检索标签内容