因为一直喜欢python的简洁,所以各方面都有所涉猎,最近在研究scrapy,希望能在两个星期内能够把一个网站用scrapy爬出来吧,在学习爬虫过程中希望能够更深入的了解py,所以最近放松时间又看了关于selenium的相关资料,鉴于共同学习的想法写下自己的认识吧。
其实应该各位老司机大概都听过selenium,但是不知道他是个什么姿势,我之前也听过,但是也不怎么清楚是干啥的,反正在各大相关py中都有他的身影,只知道他是主要用于Web应用程序的自动化测试。每次听到自动化都有一种很兴奋的赶脚,毕竟之前听过一位老司机用py进行比特币量化交易的例子,当然这仅仅只是在金融行业里面的某个小范围而已。所谓Web自动化大概就是模拟鼠标和键盘操作一些东西吧,这个感觉和爬虫类似但却不相同,爬虫是扫,而Web自动化大概就是模拟人点的意思吧说得太抽象,上一哈代码大概老司机就都知道了:
先说目的,我的目的就是,到必应搜索出出车牌号bf-389
那么如果按照这个目的,大概会有几个步骤,1,选择浏览器 2.打开网址必应 3.点到搜索框 4.写入bf-389 5.点击、或者是回车搜索按钮完成搜索,那么用代码实现就是:
# coding=utf-8 #防止有乱码
from selenium import webdriver #从selenium导入webdriver,直接导入就太长了selenium.webdriver....
olddriver = webdriver.Firefox() #这个的意思是获得浏览器对象,也就是相当于我要用火狐来开车, webdriver里面当然也有很多的汽车可以供选择,比如chrome,IE 等等如果你想用chrome,那么赋值就olddriverwebdriver.Chrome()
olddriver.get('http://cn.bing.com/ ') #这个就是通过get来向Firfox浏览器发送必应的URL
""" 接下来就是全自动的自动化过程了"""
olddriver.find_element_by_id('sb_form_q').send_keys('bf-389') #找到必应的搜索框在网页中对应的元素
olddriver.find_element_by_id('sb_form_go').click() #找到必应搜索,也就是点击搜索的按钮
olddriver.quit() #熄火下车。
然后就启动代码,然后就能找到bf389的车牌了!
注意事项
首先我用的是Ubuntu系统,win的系统大概也是这样,只要记住核心步骤就行,然后对于Ubuntu来说,可能安装selenium比较简单,但是难就难在有可能你执行不了webdriver这个命令,原因很大可能是,你的Firefox浏览器的版本和你的Ubuntu版本不一致,或者是你的Firefox所在的位置webdriver找不到,这里就不细说了,只有自己碰到了才会记住。stackoverflow上面都会有解答,如果各位老司机也碰到问题,最好的方法是自己解决问题,车有问题还是你修是不是,作为老司机的我只能告诉你,google,biying,stackoverflow都有相关问题的解答,望各位老司机共勉加油!