selenium浏览器自动化模块

# selenium概念基于浏览器自动化的模块,编写代码控制浏览器的操作.
# 应用在爬虫中可以帮我们便捷的爬去到页面中动态加载出来的数据,实现模拟登陆
# 基本流程:
# 1.pip install selenium
# 2.下载谷歌的驱动程序:http://chromedriver.storage.googleapis.com/index.html
from selenium import webdriver
from time import sleep
# 实例化一个浏览器对象,填写浏览器驱动位置,要加r,放置字符转义
driver = webdriver.Chrome(r'./chromedriver.exe')
# 用get方法打开网页
driver.get("http://www.baidu.com")
# 查找页面的"设置"选项,调用的方法(通过连接文本查找元素),找到并点击
driver.find_elements_by_link_text('设置')[0].click()
# 再找"搜索设置"选项,设置每页显示50条
driver.find_elements_by_link_text('搜索设置')[0].click()
sleep(2)
# 选中每页显示50条
m = driver.find_element_by_id('nr')

m.find_element_by_xpath('//*[@id="nr"]/option[3]').click()
m.find_element_by_xpath('.//option[3]').click()


driver.find_elements_by_class_name("prefpanelgo")[0].click()
sleep(2)

driver.switch_to_alert().accept()
sleep(2)
# 找到输入框,send_keys填写内容
driver.find_element_by_id('kw').send_keys("海贼王")

driver.find_element_by_id('su').clink()

# 关闭这个浏览器对象
driver.quit()

实例简单应用

# 实例应用:爬取药监总局
from selenium import webdriver
from lxml import etree
import time

# 实例化浏览器对象
yaojianju = webdriver.Chrome(executable_path='./chromedriver.exe')
# get对url发起请求
yaojianju.get('http://125.35.6.84:81/xk/')

# 获取浏览器当前打开页面的页面源码数据(可见即可得)
page_text = yaojianju.page_source
time.sleep(2)
# 获取网页数据
tree = etree.HTML(page_text)
name = tree.xpath('//*[@id="gzlist"]/li[1]/dl/a/text()')[0]
print(name)
time.sleep(3)
yaojianju.quit()

猜你喜欢

转载自www.cnblogs.com/wmh33/p/11043321.html