获取网页源码问题

获取网页源码问题

相关代码:

def crawl_website(self, url):
    """
    抓取订单数据
    :param url: 订单页面的URL
    :return:
    """
    print("开始抓取订单数据")
    self.driver.get(url=url)
    while True:
        # 判断是否进入到订单页面
        if WebDriverWait(self.driver, 5, 0.5).until(EC.presence_of_element_located((By.CLASS_NAME, "pagination"))):
            # page_source就是网页源代码
            self.parse_html(content=self.driver.page_source)
            # 点击翻页
            self.driver.find_element_by_xpath("//button[@class='btn-next']").click()
            if self.driver.find_element_by_xpath("//button[@class='btn-next']").get_attribute("disabled"):
                break
    # 拿到数据之后,执行浏览器退出
    self.driver.quit()


问题描述:

请问为什么driver.get()在循环的外面,这样理解起来像是下面的循环其实每次都是处理同一个页面,能否解释一下呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!

selenium框架可以操作浏览器界面,在代码self.driver.find_element_by_xpath("//button[@class='btn-next']").click()点击翻页处进行点击,即可翻页到下一个页面,就不需要使用driver.get()请求页面,祝学习愉快~

  • 慕的地2111885 提问者 #1

    你好

    点击下一页后,不需要重新get()新的页面吗? 那这样xpath分析的content不还是旧的页面的page source吗?

    2022-07-03 13:52:58
  • 好帮手慕凡 回复 提问者 慕的地2111885 #2

    同学,你好!

    selenium框架可以模拟人类操作页面,人类在点击下一页后,页面会进行跳转,不需要再次输入网址进行请求了,祝学习愉快~

    2022-07-03 14:06:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师