selenium模块的基本使用

Posted 想成为大师啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium模块的基本使用相关的知识,希望对你有一定的参考价值。

selenium模块和爬虫的关联

1、便捷的获取网站中动态加载的数据。

2、便捷的实现模拟登录。


selenium模块:

1、基于浏览器自动化的一个模块。

2、模拟人去操作浏览器,通过xpath或者标签定位到元素,通过相应的方法就能在文本框内输入字符,或者定位到按钮点击。

3、不过selenium执行很慢,并且网页没加载完也可能执行下面的代码,会导致报错。

4、selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行javascript代码的问题,selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器。


selenium使用流程:

1、环境安装:pip install selenium

2、下载一个浏览器的驱动程序

  • 下载路径:http://chromedriver.storage.googleapis.com/index.html
  • 驱动程序和浏览器的映射关系:http://blog.csdn.net/huilan_same/article/details/51896672

3、实例化一个浏览器对象

4、编写基于浏览器自动化的操作代码

  • 发起请求:get(url)
  • 标签定位:find系列的方法
  • 标签交互:send_keys(‘xxx’)
  • 执行js程序:excute_script(‘jsCode’)
  • 前进、后退:back(), forward()
  • 关闭浏览器:quit()

5、selenium处理iframe


通过软件自动化打开浏览器,爬取数据

导包

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

实例化一个浏览器对象(传入浏览器的驱动成)

bro = webdriver.Chrome(executable_path='./chromedriver.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)

关闭浏览器(等待5秒)

sleep(5)
bro.quit()

以上是关于selenium模块的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

[python模块]selenium基本使用

selenium模块的基本使用

selenium模块

selenium模块

爬虫-selenium模块

seleniium模块的基本使用