Python Selenium 基本配置

  不知道大家学习python的目的有哪些?Web开发  自动化运维  大数据分析  网络爬虫  人工智能  机器学习  ?

  最近对网络爬虫比较感兴趣,为什么呢?懒人分很多种.....

    1. 懒惰成性什么都不干的

    2.  趁人不注意就偷懒打盹的

    3. 被逼无奈想着投机取巧完成任务的

    很不幸,学爬虫的初衷确是为了第三种,因为工作上有一些问题需要处理,但是让我一个个的动手完成真的比较无聊,所以想到了爬虫。就如博客园说的,代码改变世界。当然爬虫也分很多类型,我说的主要是通过自动化selenium模拟手动操作,完成重复有重复的工作喽。

  selenium作为目前市面上比较火的WEBGUI自动化测试。selenium 2针对各个浏览器而开发的,它取代了嵌入到被测Web应用中的 JavaScript。与浏览器的紧密集成,支持创建更高级的测试,避免了JavaScript安全模型的限制。除了来自浏览器厂商的支持,Selenium 2 还利用操作系统级的调用模拟用户输入。WebDriver 支持

  • Firefox (FirefoxDriver)

  • IE(InternetExplorerDriver)

  • Opera(OperaDriver)

  • Chrome (ChromeDriver)

  • 以及safari(SafariDriver)

它还支持Android(Selendroid)和iPhone(Appium)的移动应用测试。此外,Selenium 2还包括基于HtmlUnit的无界面实现,称为HtmlUnitDriver,和基于webkit的无界面浏览器phantomjs。Selenium 2 API可以通过

  • Java

  • C#

  • PHP

  • Python

  • Perl

  • Ruby

等编程语言访问,支持开发人员使用他们常用的编程语言来创建测试。好了,既然python涵盖在其中,那就简单看看吧,艺多不压身啊。。。。

  谈及selenium就要推荐两个网站了,因为selenium在使用的时候需要下载浏览器对应的webdriver才行。我个人比较喜欢谷歌浏览器,所以第一个网站就是chromedriver插件的下载网址了。

        1. 谷歌浏览器启动下载地址:       http://chromedriver.storage.googleapis.com/index.html

  需要注意的地方,你的浏览器需要和对应版本的chromedriver配合,才能使用哦。  

附chromedriver与chrome的对应关系表:

chromedriver版本支持的Chrome版本
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

 

  我的chrome版本是63的所以直接下载2.3.5就OK。下载好你们的chromedriver.exe 放在指定目录下   如: pythonpath/scripts  如果电脑环境变量中的path不包含你放置的目录,记得要添加进去哦。

 

 

   2. webdriver中文社区 :      http://www.webdriver.org/nav1/             上面有很多selenium的相关知识,棒棒哒......

 

来一段简单的selenium操作吧:

 1 from selenium import webdriver
 2 
 3 firsttest = webdriver.Chrome()  # 声明驱动对象
 4 
 5 
 6 def first_test(url):
 7     try:
 8         firsttest.get(url)  # 发送get请求
 9         allurl = firsttest.find_elements_by_tag_name('a')  # 找到目标
10         for article in allurl:
11             if article.text == 'Python 修改pip源---windows / Linux':
12                 print(article.get_attribute('href'))
13                 firsttest.get(article.get_attribute('href'))
14                 break
15     except Exception as ErrorInfo:
16         print(ErrorInfo)
17     finally:
18         firsttest.close()  # 关闭谷歌浏览器
19 
20 
21 if __name__ == '__main__':
22     url = 'http://www.cnblogs.com/Dracular/'
23     first_test(url)

 

posted @ 2018-01-27 16:07  清风Python  阅读(389)  评论(0编辑  收藏  举报