昨天已经介绍了关于selenium的简单基本基本使用——通过两种方式自动打开和关闭谷歌浏览器今天,我们将介绍的模块将是在昨天打开谷歌浏览器的基础上,打开某一个电商平台,并搜索某一个产品,利用前面学的知识将所有产品的信息爬取出来。

我们以打开京东官网为例:

  • 建立try模块,捕获异常

try:
# 捕获异常
except Exception as e:
print(e)
# 不论发生什么异常,都会驱动浏览器关闭
finally:
driver.close()
  • 向京东主页发送请求
# 往京东主页发送请求
driver.get('https://www.jd.com/')
  • 输入商品名目

# 通过id查找input输入框
input_tag = driver.find_element_by_id('key') # send_keys为当前标签传值
input_tag.send_keys('公仔') # 按键盘的回车键
input_tag.send_keys(Keys.ENTER) time.sleep(3)
  • 通过for循环遍历每一个商品

for good in good_list:
# 通过属性选择器查找商品详情页url
# url
good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href')
print(good_url) # 名称
good_name = good.find_element_by_css_selector('.p-name em').text
print(good_name) # 价格
good_price = good.find_element_by_class_name('p-price').text
print(good_price) # 评价数
good_commit = good.find_element_by_class_name('p-commit').text
print(good_commit) str1 = f'''
url: {good_url}
名称: {good_name}
价格: {good_price}
评价: {good_commit}
\n
'''
  • 把商品信息储存到文本中

# 把商品信息写入文本中
with open('jd.txt', 'a', encoding='utf-8') as f:
f.write(str1)

最新文章

  1. Oracle 11203 + ASM安装 for HP UX
  2. jQuery刷新包含的<jsp:include>页面
  3. MySQL删除/更新数据时报1175错误
  4. Linq排序,获取前5条数据
  5. java---Swing界面开发总结
  6. 第七章Bulk设备
  7. BCM wifi驱动学习
  8. Struts2之Action接收请求参数和拦截器
  9. react实现双向绑定
  10. ubuntu自动登录tty1(shell,text)配置
  11. Spring学习笔记3——使用注解的方式完成注入对象中的效果
  12. Django回顾
  13. linux基础权限管理
  14. 【LG3244】[HNOI2015]落忆枫音
  15. Codeforces 578B. "Or" Game(思维题)
  16. Problem F: 最大公约数、最小公倍数
  17. [javascript]巧用sourcemap快速定位javascript中的问题
  18. OkHttp+Stetho+Chrome调试android网络部分(原创)
  19. mac下Appium环境配置
  20. window平台下使用python虚拟环境

热门文章

  1. Python TensorFlow深度学习回归代码:DNNRegressor
  2. MySQL-多表查询的两种方法、Navicat、python操作MySQL
  3. wsl 更新到D盘
  4. ChatGPT留给知乎、小红书的时间不多了
  5. C#通过OLEDB将DataTable写入Excel文件中
  6. 2021级《JAVA语言程序设计》上机考试试题6
  7. ES6的Set详解
  8. C语言小程序-天天酷跑类游戏 26号完成
  9. Windows家庭版安装本地组策略编辑器【gpedit.msc】
  10. Cesium用wsad进行场景漫游(九)