selenium 如何获取 session 指定的数据

这篇具有很好参考价值的文章主要介绍了selenium 如何获取 session 指定的数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码核心在于这几个部分:

  其一:使用元素定位来获取页面上指定需要抓取的关键字;

  其二:将页面上定位得到的数据永久存储到本地文件中。

  具体来梳理一下从访问URL开始到爬取数据整个流程下来的各个节点我们都做了哪些工作。

  我们来看看spider()方法里面具体做了哪些事情:

  spider() 方法实现

  1、创建浏览器对象

# 创建浏览器对象
  drver = webdriver.Chrome()

 文章来源地址https://www.toymoban.com/news/detail-857834.html

通过 webdriver.Chrome() 创建浏览器对象后,会自动启动并打开Chrome浏览器。在 Chrome() 方法中未传入任何参数,即使用默认参数 executable_path="chromedriver" ,executable_path表示的是Chrome浏览器驱动的位置,该参数默认浏览器驱动的位置是在Python安装目录下。如果你的浏览器驱动位置与默认位置不同,则 executable_path 参数需要传入驱动的实际位置。

2、访问URL地址

 # 浏览器访问地址
  drver.get(url)

 打开浏览器后driver调用get(url) 方法在地址栏中访问该网址。

3、隐式等待、最大化浏览器窗口

# 隐式等待,确保动态内容节点被完全加载出来——时间感受不到
  drver.implicitly_wait(3)
  # 最大化浏览器窗口,主要是防止内容被遮挡
  drver.maximize_window()

先使用 implicitly_wait() 方法隐式等待浏览器将页面完全加载出来,再使用maximize_window()将浏览器窗口最大化,防止页面元素未加载出来或被遮挡而查找失败。

4、定位搜索框

 # 通过id=key定位到搜索框
  input_search = drver.find_element_by_id('key')
  # 在输入框中输入“口罩”
  input_search.send_keys(keyword)
  # 模拟键盘回车Enter操作进行搜索
  input_search.send_keys(Keys.ENTER)
  # 强制等待3秒
  sleep(3)

driver 先调用 find_element_by_id('key') 通过ID定位到该搜索框,再调用 sent_keys() 传入参数搜索关键字 keyword ,然后在sent_keys() 中传入 Keys.ENTER 模拟键盘回车键,最后再调用 sleep(3) 强制等待搜索内容加载出来。至此, 定位搜索框->搜索框输入关键字->回车搜索 ,整个搜索流程就完成了。

5、调用 get_good() 方法抓取商品数据

# 抓取商品数据
  get_good(drver)

 将抓取商品数据的具体操作步骤封装成 get_good() 方法并传入driver参数调用。

6、退出浏览器

# 退出关闭浏览器
  drver.quit()

 抓取完商品数据后就可以直接将浏览器关闭,释放资源了。这就是整个爬取的过程,而抓取数据的过程再接着继续分析。

  get_good() 方法实现

  完整代码

  # -*- coding: utf-8 -*-
  # @Time : 2021/10/26 17:35
  # @Author : Jane
  # @Software: PyCharm
  # 导入库
  from time import sleep
  from selenium import webdriver
  from selenium.webdriver.common.keys import Keys # 键盘按键操作
  from os import path
  def spider(url, keyword):
      # 创建浏览器对象
      drver = webdriver.Chrome()
      # 浏览器访问地址
      drver.get(url)
      # 隐式等待,确保动态内容节点被完全加载出来——时间感受不到
      drver.implicitly_wait(3)
      # 最大化浏览器窗口,主要是防止内容被遮挡
      drver.maximize_window()
      # 通过id=key定位到搜索框
      input_search = drver.find_element_by_id('key')
      # 在输入框中输入“口罩”
      input_search.send_keys(keyword)
      # 模拟键盘回车Enter操作进行搜索
      input_search.send_keys(Keys.ENTER)
      # 强制等待3秒
      sleep(3)
      # 抓取商品数据
      get_good(drver)
      # 退出关闭浏览器
      drver.quit()
  # 抓取商品数据
  def get_good(driver):
      # 获取当前第一页所有商品的li标签
      goods = driver.find_elements_by_class_name('gl-item')
      for good in goods:
          # 获取商品链接
          link = good.find_element_by_tag_name('a').get_attribute('href')
          # 获取商品标题名称
          title = good.find_element_by_css_selector('.p-name em').text.replace('\n', '')
          # 获取商品价格
          price = good.find_element_by_css_selector('.p-price strong').text.replace('\n', '')
          # 获取商品评价数量
          commit = good.find_element_by_css_selector('.p-commit a').text
          # 格式化商品信息
          msg = '''
              商品:%s
              链接:%s
              价格:%s
              评论:%s
          '''%(title, link, price, commit)
          # 保存商品数据到txt文件中
          saveTXT(msg)
  # 保存商品数据到txt文件中
  def saveTXT(msg):
      # 获取当前文件路径
      paths = path.dirname(__file__)
      # 将当前文件路径与文件名拼接起来作为商品数据的存储路径
      file = path.join(paths, 'good_data.txt')
      # 以追加写入的方式将商品数据保存到文件中
      with open(file, 'a+', encoding='utf-8') as wf:
          wf.write(msg)
  # 判断文件程序入口
  if __name__ == '__main__':
  # 京东商城网址
      url = 'https://www.jd.com/'
      # 搜索关键字“女士编包”
      keyword = '女士包包'
      # 爬取数据
      spider(url, keyword)

 将数据存储到CSV文件中

 # -*- coding: utf-8 -*-
  # @Time : 2021/10/26 17:35
  # @Author : Jane
  # @Software: PyCharm
  # 导入库
  from time import sleep
  from selenium import webdriver
  from selenium.webdriver.common.keys import Keys # 键盘按键操作
  from os import path
  import csv
  def spider(url, keyword):
      # 创建浏览器对象
      drver = webdriver.Chrome()
      # 浏览器访问地址
      drver.get(url)
      # 隐式等待,确保动态内容节点被完全加载出来——时间感受不到
      drver.implicitly_wait(3)
      # 最大化浏览器窗口,主要是防止内容被遮挡
      drver.maximize_window()
      # 通过id=key定位到搜索框
      input_search = drver.find_element_by_id('key')
      # 在输入框中输入“口罩”
      input_search.send_keys(keyword)
      # 模拟键盘回车Enter操作进行搜索
      input_search.send_keys(Keys.ENTER)
      # 强制等待3秒
      sleep(3)
      # 抓取商品数据
      get_good(drver)
      # 退出关闭浏览器
      drver.quit()
  # 抓取商品数据
  def get_good(driver):
      # 获取当前第一页所有商品的li标签
      goods = driver.find_elements_by_class_name('gl-item')
      data = []
      for good in goods:
          # 获取商品链接
          link = good.find_element_by_tag_name('a').get_attribute('href')
          # 获取商品标题名称
          title = good.find_element_by_css_selector('.p-name em').text.replace('\n', '')
          # 获取商品价格
          price = good.find_element_by_css_selector('.p-price strong').text.replace('\n', '')
          # 获取商品评价数量
          commit = good.find_element_by_css_selector('.p-commit a').text
          # 将商品数据存入字典
          good_data = {
              '商品标题':title,
              '商品价格':price,
              '商品链接':link,
              '评论量':commit
          }
          data.append(good_data)
      saveCSV(data)
  # 保存商品数据到CSV文件中
  def saveCSV(data):
      # 表头
      header = ['商品标题', '商品价格', '商品链接', '评论量']
      # 获取当前文件路径
      paths = path.dirname(__file__)
      # 将当前文件路径与文件名拼接起来作为商品数据的存储路径
      file = path.join(paths, 'good_data.csv')
      # 以追加写入的方式将商品数据保存到文件中
      with open(file, 'a+', encoding='utf-8', newline='') as wf:
          f_csv = csv.DictWriter(wf, header)
          f_csv.writeheader()
          f_csv.writerows(data)
  # 判断文件程序入口
  if __name__ == '__main__':
      # 京东商城网址
      url = 'https://www.jd.com/'
      # 搜索关键字“女士编包”
      keyword = '女士包包'
      # 爬取数据
      spider(url, keyword)

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

selenium 如何获取 session 指定的数据,selenium,测试工具,单元测试,测试用例,压力测试,功能测试,postman

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

selenium 如何获取 session 指定的数据,selenium,测试工具,单元测试,测试用例,压力测试,功能测试,postman

 

到了这里,关于selenium 如何获取 session 指定的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试工具-Selenium:Selenium的核心三大组件详解

    目录 1. WebDriver 1.1 WebDriver的通信方式 1.2 WebDriver的功能 1.3 W3C推荐标准 2. Grid 3. IDE Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。官方对Selenium认可的三大组件或API分别是: WebDriver、Selenium IDE、Grid。 其中,WebDriver又被称为Selenium的核心。 下面本篇文章将深度介

    2024年02月03日
    浏览(43)
  • 自动化测试工具——Selenium详解

    Selenium是一个用于Web应用程序测试的工具。是一个开源的Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium可以直接运行在浏览器上,它支持所有主流的浏览器,支持的浏览器包括IE(7, 8,

    2024年01月20日
    浏览(60)
  • 自动化测试工具Selenium的基本使用方法,软件测试基础

    browser.find_element(By.ID,‘kw’).send_keys(“美女”) browser.find_element_by_id(‘kw’).send_keys(‘性感’) 2.通过标签name属性进行定位 browser.find_element_by_name(“wd”).send_keys(“Linux”) browser.find_element(By.NAME,‘wd’).send_keys(“美女”) 3.通过标签名进行定位 browser.find_element_by_tag_name(“input”).

    2024年04月22日
    浏览(63)
  • python自动化测试工具selenium

    selenium 是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:Selenium。相对于另外一款web自动化测试工具QTP来说有如下优点: 免费开源轻量级,不同语言只需要一个体积很小的依赖包 支持多种系统,包括Windows,Mac,Linux 支持多种浏

    2024年02月08日
    浏览(81)
  • 一文详解:自动化测试工具——Selenium

    Selenium是一个用于Web应用程序测试的工具。是一个开源的Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium可以直接运行在浏览器上,它支持所有主流的浏览器,支持的浏览器包括IE(7, 8,

    2024年01月16日
    浏览(55)
  • 测试必备工具之抓包神器 Charles 如何抓取 https 数据包?

    前言 之前我们发过一篇文章讲解了Charles抓包工具的基本使用,有需要的小伙伴可以去看上一篇文章。 之前文章讲的数据包主要是http协议,大家可以看到数据包并直接显示具体详细的内容: 但是如果抓到的是https的报文,是没有办法直接显示的,你将看到的是乱码: 那怎么

    2024年03月26日
    浏览(49)
  • 自动化测试工具Selenium的语法续.

    OK,那么上篇博客我们介绍了如何搭建基于Java+selenium的环境,并且使用selenium的一些语法给大家演示了如何进行自动化测试的案例,那么本篇博客我们来继续学习selenium的一些其他的比较重要的语法,感谢关注,期待三连~ 目录 一、定位一组元素 二、下拉框处理 三、上传文件

    2024年02月10日
    浏览(56)
  • 自动化测试工具selenium的安装方法

    一、什么是selenium Selenium 是一套 Web网站 的程序自动化操作 解决方案。 通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。 Selenium 通过使用  WebDriver  支持市场上所有主流浏览器的自动化。 Webdriver 是一个

    2024年02月09日
    浏览(45)
  • Web应用程序测试工具Selenium用法详解

    目录 一、引言 二、Selenium简介 三、Selenium安装与配置 1、安装Selenium 2、配置浏览器驱动 3、配置测试环境 四、Selenium用法详解 1、导入Selenium库和浏览器驱动 2、启动浏览器并打开网页 3、定位元素 4、执行操作 5、断言与验证 6、等待与隐式等待 7、关闭浏览器 五、总结与建议

    2024年02月02日
    浏览(61)
  • Selenium教程:自动化浏览器测试工具

    Selenium是一款用于自动化浏览器测试的工具,它提供了一系列的API和功能,使得开发人员可以编写脚本来模拟用户在浏览器中的行为。无论是在Web应用程序的功能测试、性能测试还是数据抓取方面,Selenium都是一个强大且广泛使用的工具。 在开始使用Selenium之前,您需要进行安

    2024年02月07日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包