栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬虫从入门到精通:(20)selenium的介绍和简单用法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫从入门到精通:(20)selenium的介绍和简单用法

selenium的介绍和简单用法
  • 概念:基于浏览器自动化的模块

  • 自动化:可以通过代码制定一些列的行为动作,然后将其作用到浏览器中

  • 安装selenium模块:

    pip install selenium
    
  • 安装谷歌浏览器驱动(找到合适自己电脑的):

    http://chromedriver.storage.googleapis.com/index.html

  • selenium和爬虫之间的关联

    • 1.便捷的捕获到任意形式动态加载的数据(可见即可得)
    • 2.实现模拟登陆

简单爬取一个网页:

from selenium import webdriver
from time import sleep

# 1. 基于浏览器的驱动程序实例化一个浏览器对象
bro = webdriver.Chrome(executable_path='./chromedriver')
# 对目的网站发起请求
bro.get('https://www.jd.com/')

运行一下,我们就打开了某东页面:

我们向搜索框输入iphoneX:

可以利用xpath公式先进行标签定位:

# 标签定位
search_text = bro.find_element_by_xpath('//*[@id="key"]')
search_text.send_keys('iphoneX')  # 向标签中录入数据

运行后可以看到:

点击按钮:

# 搜索按钮
btn = bro.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')
btn.click()

运行后可以看到:

在搜索结果页面进行滚轮向下滑动的操作(执行js操作:js输入)

停顿2秒后滑动:因为selenium比较慢,为了起到效果,所以要延迟2秒

# 在搜索结果页面进行滚轮向下滑动的操作(执行js操作:js输入)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(2)
bro.quit()

运行后可以看到:


完整代码如下:

from selenium import webdriver
from time import sleep

# 1. 基于浏览器的驱动程序实例化一个浏览器对象
bro = webdriver.Chrome(executable_path='./chromedriver')
# 对目的网站发起请求
bro.get('https://www.jd.com/')
# 标签定位
search_text = bro.find_element_by_xpath('//*[@id="key"]')
search_text.send_keys('iphoneX')  # 向标签中录入数据

# 搜索按钮
btn = bro.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')
btn.click()
#
sleep(2)
#
# 在搜索结果页面进行滚轮向下滑动的操作(执行js操作:js输入)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(2)
bro.quit() # 关闭退出。浏览器也关闭了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号