zhniy 2023-02-21 17:54 采纳率: 60%
浏览 36

selenium爬取问题

我想通过selenium爬取一个问答的内容,但是它没有重定向到新的页面,所以我要如何去操作它呢,比如我爬取的第一个问诊的对话,如何返回上一页继续爬取下一个会话,折磨我一天了求帮忙

from selenium import webdriver
from selenium.webdriver.common.by import By
import time, csv


class CYYS:

    def __init__(self, doc):
        self.doc = doc

    # 主函数
    def run(self):
        driver = webdriver.Chrome()
        driver.implicitly_wait(10)

        # 爬取网址
        driver.get("https://m.chunyuyisheng.com/qalist/?page=1&high_quality=0")
        driver.find_element(By.CSS_SELECTOR, ".hot-qa-list").click()
        time.sleep(1)
        self.handler(driver)
        # 返回会话页面,继续处理
        # driver.back()

# 对页面进行处理
    def handler(self, driver):
        driver.execute_script('window.scrollBy(0,10000)')
        driver.find_element(By.CSS_SELECTOR, ".showmore-btn").click()
        sessions = driver.find_elements(By.CSS_SELECTOR, ".block-right")
        for session in sessions:
            txt = session.find_elements(By.TAG_NAME, 'p')
            stringFilelds = [field.text for field in txt]
            print(stringFilelds)
            # self.Save(doc=self.doc, txt=stringFilelds)

    # def Save(self, doc, txt):
    #     with open(self.doc, 'w', encoding='utf-8') as f:
    #         f.write(str(txt) + '\n')


CYYS(doc='1.txt').run()
  • 写回答

1条回答 默认 最新

  • cjh4312 2023-02-21 18:20
    关注

    driver.switch_to.window(driver.window_handles[-1])定向到最新页面

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月21日

悬赏问题

  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库