selenium基础用法及举例

selenium模块的基本使用
问题:selenium模块和爬虫之间具有怎样的关联?
    -便捷的获取网站中动态加载的数据
    -便捷实现模拟登录
什么是selenium模块?
    -基于浏览器自动化的一个模块。
selenium使用流程:
    -环境安装:pip install selenium
    -下载一个浏览器的驱动程序
        -下载路径参考博客:https://blog.csdn.net/VXadmin/article/details/89433821
        -驱动程序和浏览器的映射关系:https://blog.csdn.net/weixin_50233989/article/details/113242332
    -实例化一个浏览器对象
-编写基于浏览器自动化的操作代码
    -发起请求:get(url)
    -标签定位:find系列的方法
    -标签交互:send keys( 'xxx')
    -执行js程序:excute script('jsCode ')
    -前进,后退:back(),forward()
    -关闭浏览器:quit()


1.获取ajax页面数据(化妆品药监局数据爬取)

from time import sleep
from selenium import webdriver
from lxml import etree

# 实例化一个游览器对象(传入一个浏览器对象)
bro = webdriver.Edge(executable_path='./MicrosoftWebDriver.exe')
# 让浏览器发起一个指定url请求
bro.get('http://scxk.nmpa.gov.cn:81/xk/')

# page_source获取浏览器当前页面的页面源码数据
page_text = bro.page_source

# 解析企业名称
tree = etree.HTML(page_text)
li_list = tree.xpath('//ul[@id="gzlist"]/li')
for li in li_list:
    name = li.xpath('./dl/@title')[0]
    print(name)

sleep(5)
bro.quit()

2.selenium其他自动化操作

from time import sleep
from selenium import webdriver
from lxml import etree

bro = webdriver.Edge(executable_path='./MicrosoftWebDriver.exe')
bro.get('https://www.taobao.com/')

# 标签定位
search_input=bro.find_element_by_id('q')
# 标签交互
search_input.send_keys('Iphone')

# 执行一组js数据
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(5)
# 点击搜索按钮
btn = bro.find_element_by_css_selector('.btn-search')
btn.click()

bro.get('https://daohang.qq.com/?fr=hmpage')
sleep(2)
bro.back()
sleep(2)
bro.forward()

sleep(5)
bro.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值