前言:大家跟我一起念,Python大法好,跟着本宝宝用Python抢火车票

首先我们需要splinter

安装:

pip install splinter -i http://pypi.douban.com/simple –trusted-host pypi.douban.com

然后还需要一个浏览器的驱动,当然用chrome啦

下载地址:

http://chromedriver.storage.googleapis.com/index.html?path=2.20/

根据下载的自己的电脑系统选择下载包,我的windows就用win32了

解压后直接放到C:WindowsSystem32目录下,你当然也可以给这个驱动程序弄个环境变量。

注意:我下的驱动版本是2.19的,根据自己需要下载相应版本,我的2.20版本有报错

首先简单的测试一下吧,推荐ipython代替python自带的交互界面

from splinter.browser import Browser

b = Browser(driver_name="chrome")

b.visit("http://www.baidu.com") ###注意不要去掉http://

然后牛刀小试一下吧,用百度搜索一些东西。比如splinter

在上面我们已经打开百度的网址了

然后我们输入一些像搜索的内容吧


由上可以发现,该输入框的name=wd,通过fill似乎只能通过name填充

官方说明: Fill the field identified by “name“ with the content specified by “value“.

那就在输入框搜索splinter,当然也可以输入中文,但是最好指定Unicode编码,如u”我”

复制代码 代码如下:

b.fill(“wd”,”splinter”)

有意思的事,你会发现你都不需要点击“百度一下”就到搜索页面了

但是,如果多次搜索,我们还是需要点击“百度一下”的

下面就不在带着大家找这些元素的id,value什么的了,通过chrome的F12找自己需要的吧

那么把点击栏find出来吧

我们发现,百度搜索栏的value=”百度一下”,id=”su”

所以把这个按钮提取出来

button = b.find_by_value(u"百度一下")

或者

button = b.find_by_id(u"su")

怎么点击呢?简单如下

复制代码 代码如下:

button.click()

这有什么用?

我们找找页面里有没有我想找的东西吧,比如找找有没有这个地址“splinter.cobrateam.info”

b.is_text_present("splinter.cobrateam.info")

如果该页面存在,则返回True,反之亦然

怎么退出呢?

b.quit()

好吧,上面就是参照官方文档写的一个简单的入门教程了,下面我们进入正题吧~~~

个人是觉得授人以鱼不如授人以渔的,所以我尽量讲解所有的内容,而非发个代码,让大家copy一下,然后不求甚解。