码迷,mamicode.com
首页 > 编程语言 > 详细

python 爬虫 Selenium的简单使用

时间:2019-10-06 17:08:42      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:select   site   cti   安装   container   alt   属性   ==   opera   

一、Selenium基础介绍及安装

      1、Selenium简介

         Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。

     2、安装Selenium

pip install Selenium
技术图片

     3、安装浏览器驱动 

                当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。

          各浏览器下载地址:                    

                Firefox浏览器驱动:geckodriver

               Chrome浏览器驱动:chromedriver 

               IE浏览器驱动:IEDriverServer

               Edge浏览器驱动:MicrosoftWebDriver

               Opera浏览器驱动:operadriver

               PhantomJS浏览器驱动:phantomjs

               注:部分浏览器驱动地址需要外网。windows配置浏览器驱动环境

                   ubuntu环境下载解压后,放到/usr/bin

二、Selenium 快速入门  

     1、selenium元素定位用法

               假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的。               

<html>
  <head>
  <body link="#0000cc">
    <a id="result_logo" href="/" onmousedown="return c({‘fm‘:‘tab‘,‘tab‘:‘logo‘})">
    <form id="form" class="fm" name="f" action="/s">
      <span class="soutu-btn"></span>
        <input id="kw" class="s_ipt" name="wd" value="" maxlength="255" autocomplete="off">
    <form/>
  <body/>
  <head/>
<html/>
技术图片

我们的目的是要定位input标签的输入框。

  • 通过id定位:
dr.find_element_by_id("kw")
技术图片
  • 通过name定位:
dr.find_element_by_name("wd")
技术图片
  • 通过class name定位:
dr.find_element_by_class_name("s_ipt")
技术图片
  • 通过tag name定位:
dr.find_element_by_tag_name("input")
技术图片
  • 通过xpath定位,xpath定位有N种写法,这里列几个常用写法:
dr.find_element_by_xpath("//*[@id=‘kw‘]")
dr.find_element_by_xpath("//*[@name=‘wd‘]")
dr.find_element_by_xpath("//input[@class=‘s_ipt‘]")
dr.find_element_by_xpath("/html/body/form/span/input")
dr.find_element_by_xpath("//span[@class=‘soutu-btn‘]/input")
dr.find_element_by_xpath("//form[@id=‘form‘]/span/input")
dr.find_element_by_xpath("//input[@id=‘kw‘ and @name=‘wd‘]")
技术图片
  • 通过css定位,css定位有N种写法,这里列几个常用写法:
dr.find_element_by_css_selector("#kw")
dr.find_element_by_css_selector("[name=wd]")
dr.find_element_by_css_selector(".s_ipt")
dr.find_element_by_css_selector("html > body > form > span > input")
dr.find_element_by_css_selector("span.soutu-btn> input#kw")
dr.find_element_by_css_selector("form#form > span > input")
技术图片

接下来,我们的页面上有一组文本链接。

<a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a>
<a class="mnav" href="http://www.hao123.com" name="tj_trhao123">hao123</a>
技术图片
  • 通过link text定位:
dr.find_element_by_link_text("新闻")
dr.find_element_by_link_text("hao123")
技术图片
  • 通过link text定位:
dr.find_element_by_partial_link_text("")
dr.find_element_by_partial_link_text("hao")
dr.find_element_by_partial_link_text("123")

 

技术图片

python 爬虫 Selenium的简单使用

标签:select   site   cti   安装   container   alt   属性   ==   opera   

原文地址:https://www.cnblogs.com/talented-stefan/p/11627503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!