Python:selenium模块基本使用

1.什么是selenium模块? 
- 基于浏览器自动化的一个模块。(通过编写代码,让浏览器完成操作自动化的动作)
selenium模块可以帮助我们便捷获取动态加载的数据


2.selenium使用流程: 
- 环境的安装 
- 下载一个浏览器的驱动程序(谷歌浏览器) 
- 下载路径:http://chromedriver.storage.googleapis.com/index.html 
- 驱动程序和浏览器的对应关系:http://blog.csdn.net/huilan_same/article/details/51896672
 下载好了之后就可以调用了。

3.步骤:
1.首先确定页面有没有动态加载的数据。
2.通过抓包工具对应到response里,在数据包里做全局搜索。

如何拿到动态加载的数据?
1.selenium可以帮助我们便捷获取动态加载的数据
2.进行模拟登录(例如人人网,qq模拟登录),便捷实现模拟登录

 

例:实例化一个对象:

from selenium import webdriver
from lxml import etree
from time import sleep
#实例化一个浏览器对象(传入浏览器的驱动对象
bro = webdriver.Chrome(executable_path='./chromedriver') #括号里跟一个参数,然后返回一个bro

        # - 接下来就可以编写基于浏览器自动化的操作代码了

bro.get('http://125.35.6.84:81/xk/')#让浏览器发起一个指定url对应请求

#获取浏览器当前页面的源码数据(动态)
page_text=bro.page_source    #这是一个属性,返回这个页面的page_text,可以帮我们获取当前页面所对应的源码数据

#解析数据,可以用xpath啦
tree=etree.HTML(page_text)
li_list=tree.xpath('.//ul[@id="gzlist"]/li')   #这个xpath返回的是一个列表,列表存的是ul标签
for li in li_list:
    name=li.xpath('./dl/@title')[0]
    print(name)
    # - 运行完之后可以关闭,但是关闭之前可以让他停留一段时间再关闭,记得导入sleep
sleep(5)  #停留5秒之后再关闭
bro.quit()

4.selenium更多的基于自动化的操作
打开淘宝,然后在搜索框里录入一个商品名称,然后点击搜索框让他搜索
      - 发起请求:get(url)
      - 标签定位:find系列的方法
      - 标签交互:send_keys('xxx')
      - 执行js程序:excute_script('jsCode')
      - 前进,后退:back(),forword()
      - 关闭浏览器:quit()

猜你喜欢

转载自blog.csdn.net/leowutooo/article/details/124998342