多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

如何用selenium爬取某东月饼数据-自动化测试

更新时间:2022-06-24 09:09:31 作者:多测师 浏览:50

如何用selenium爬取某东月饼数据-自动化测试

  定义搜索的关键字

  打开浏览器会发现URL的格式。

  搜索功能

  def get_product(key):

  # 定位到搜索框

  driver.find_element_by_css_selector('#key').send_keys(keyword)

  # 定位到搜索按钮

  driver.find_element_by_css_selector('.button').click()

  # 防止超时,等待加载,设置为10S

  driver.implicitly_wait(10)

  # 最大化浏览器效果

  解决图片懒加载

  # 解决懒加载

  def drop_down():

  for x in range(1,11,2):

  time.sleep(0.5)

  # 控制翻页

  j = x / 10

  js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' % j

  driver.execute_script(js)

  解析商品数据

  通过定位发现,商品都有gl-item属性。

  拿到商品集合

  # 解析商品数据

  def parse_product():

  # 拿到商品集合

  lis = driver.find_elements_by_css_selector('.gl-item')

  解析商品名称

  通过定位发现,商品名称在p-name下的em标签中。

  # 解析商品数据

  def parse_product():

  # 拿到商品集合

  lis = driver.find_elements_by_css_selector('.gl-item')

  for li in lis:

  try:

  # 商品名称

  product_name = li.find_element_by_css_selector('div.p-name a em').text

  解析商品价格

  通过定位发现,商品价格在p-price下的i标签中。

  # 解析商品数据

  def parse_product():

  # 拿到商品集合

  lis = driver.find_elements_by_css_selector('.gl-item')

  for li in lis:

  try:

  # 商品名称

  product_name = li.find_element_by_css_selector('div.p-name a em').text

  # 商品价格

  product_price = li.find_element_by_css_selector('div.p-price strong i').text + '元'

  解析商品评价数量

  通过定位发现,商品价格在p-commit下的a标签中。

  # 解析商品数据

  def parse_product():

  # 拿到商品集合

  lis = driver.find_elements_by_css_selector('.gl-item')

  for li in lis:

  try:

  # 商品名称

  product_name = li.find_element_by_css_selector('div.p-name a em').text

  # 商品价格

  product_price = li.find_element_by_css_selector('div.p-price strong i').text + '元'

  # 商品评价数量

  product_comment = li.find_element_by_css_selector('div.p-commit strong a').text

  解析店铺名称

  通过定位发现,商品价格在span下的a标签中。

  # 解析商品数据

  def parse_product():

  # 拿到商品集合

  lis = driver.find_elements_by_css_selector('.gl-item')

  for li in lis:

  try:

  # 商品名称

  product_name = li.find_element_by_css_selector('div.p-name a em').text

  # 商品价格

  product_price = li.find_element_by_css_selector('div.p-price strong i').text + '元'

  # 商品评价

  product_comment = li.find_element_by_css_selector('div.p-commit strong a').text

  # 店铺名称

  product_shop_name = li.find_element_by_css_selector('span.J_im_icon a').text

  #打印数据

  print(product_shop_name,product_price,product_comment,product_shop_name)

  解析数据保存到csv文件

  with open('data_jd.csv',mode='a',encoding='utf-8',newline='') as f:

  csv_write = csv.writer(f)

  csv_write.writerow([product_name,product_price,product_name,product_shop_name])

  except Exception as e:

  print(e)

  以上内容为大家介绍了自动化测试中的如何用selenium爬取某东月饼数据,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部