selenium模块在爬虫中的应用

1. 相关概念

1. selenium模块

是一个基于浏览器自动化的模块

2. 与爬虫之间的关联

便捷的捕获到动态加载到的数据(可见即可得)

实现模拟登陆

3.环境安装

pip3 install selenium

简单演示

from selenium import webdriver
from time import sleep

# 后面是你的浏览器驱动位置,记得前面加r‘‘,‘r‘是防止字符转义的
driver = webdriver.Chrome(r‘chromedriver.exe‘)

# 用get打开百度页面
driver.get("http://www.baidu.com")

# 查找页面的“设置”选项,并进行点击
driver.find_elements_by_link_text(‘设置‘)[0].click()
sleep(2)

# 打开设置后找到“搜索设置”选项,设置为每页显示50条
driver.find_elements_by_link_text(‘搜索设置‘)[0].click()
sleep(2)

# 选中每页显示50条
m = driver.find_element_by_id(‘nr‘)
sleep(2)
m.find_element_by_xpath(‘//*[@id="nr"]/option[3]‘).click()
m.find_element_by_xpath(‘.//option[3]‘).click()
sleep(2)

# 点击保存设置
driver.find_elements_by_class_name("prefpanelgo")[0].click()
sleep(2)

# 处理弹出的警告页面   确定accept() 和 取消dismiss()
driver.switch_to_alert().accept()
sleep(2)

# 找到百度的输入框,并输入 美女
driver.find_element_by_id(‘kw‘).send_keys(‘美女‘)
sleep(2)

# 点击搜索按钮
driver.find_element_by_id(‘su‘).click()
sleep(2)

# 在打开的页面中找到“Selenium - 开源中国社区”,并打开这个页面
driver.find_elements_by_link_text(‘美女_百度图片‘)[0].click()
sleep(3)

# 关闭浏览器
driver.quit()

2.基本使用

  准备好某一款浏览器的驱动程序:http://chromedriver.storage.googleapis.com/index.html

  版本的映射关系:https://blog.csdn.net/huilan_same/article/details/51896672

1.实例化某一款浏览器对象

from time import sleep
from selenium import webdriver

bro = webdriver.Chrome(executable_path="chromedriver.exe")

# 录入路由地址
bro.get("https://www:jd.com/")
sleep(2)

# 进行标签定位
search_input = bro.find_element_by_id("key")

# 向搜索框中录入关键词
search_input.send_keys("苹果")

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

# 点击搜索按钮
btn.click()
sleep(2)

# 退出访问
bro.quit()

相关推荐