zoukankan      html  css  js  c++  java
  • selenium 对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作

    什么是selenium?

      是python的一个第三方库, 对外提供的接口可以操作浏览器, 然后让浏览器完成自动化的操作

    环境的安装:

      1.pip install selenium

      2.获取某一个浏览器的驱动程序(以谷歌浏览器为例)

        驱动程序安装包: 链接: https://pan.baidu.com/s/1x6ZOf-poIHYcOexdG9yDcA 提取码: c589 复制这段内容后打开百度网盘手机App,操作更方便哦

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

        下载的驱动程序必须和浏览器的版本统一,大家可以根据https://www.cnblogs.com/wj12312/p/10108917.html版本映射表进行对应

    代码介绍:

      导包:from selenium import webdriver

      创建浏览器对象,通过该对象可以操作浏览器: browser = webdriver.Chrome(r'驱动路径')

    具体实现代码如下:

     1 from selenium import webdriver
     2 from time import sleep
     3 
     4 # 创建一个浏览器对象,将驱动程序加载到浏览器中
     5 chrome_obj = webdriver.Chrome(executable_path=r'C:Users13584Desktop驱动程序chromedriver.exe')
     6 # 浏览器对象执行get方法相当于手动打开对应的url网址
     7 chrome_obj.get('https://www.baidu.com')
     8 sleep(2)
     9 # 使用开发者工具定位到要输入的文本框,拿到该标签的属性
    10 input_text = chrome_obj.find_element_by_id('kw')
    11 # 在文本框中录入关键字相当于手动输入关键字
    12 input_text.send_keys('python')
    13 sleep(2)
    14 # 使用开发者工具定位到要输入的文本框,拿到该标签的属性
    15 btn = chrome_obj.find_element_by_id('su')
    16 # 相当于手动点击按钮
    17 btn.click()
    18 sleep(2)
    19 # 这里可以进行别的代码,比如获取最终页面的源码数据
    20 chrome_obj.quit()

     谷歌无头浏览器

      由于PhantomJs最近已经停止了更新和维护,所以推荐大家可以使用谷歌的无头浏览器,是一款无界面的谷歌浏览器。

    代码如下:

      只需提前创建一个参数对象,用来控制chrome以无界面模式打开

     1 from selenium import webdriver
     2 from selenium.webdriver.chrome.options import Options
     3 from time import sleep
     4 
     5 # 创建一个参数对象,用来控制chrome以无界面模式打开
     6 nohead_chrome = Options()
     7 nohead_chrome.add_argument('--headless')
     8 nohead_chrome.add_argument('--disable-gpu')
     9 
    10 # 驱动程序路径
    11 path = r'C:Users13584Desktop驱动程序chromedriver.exe'
    12 
    13 # 创建浏览器对象
    14 browser = webdriver.Chrome(executable_path=path, chrome_options=nohead_chrome)
    15 
    16 url = 'https://www.baidu.com/'
    17 browser.get(url)
    18 sleep(3)
    19 
    20 browser.save_screenshot('baidu.png')
    21 
    22 browser.quit()
    View Code

        

  • 相关阅读:
    CocoaPods的安装和使用
    HTTP协议(一)
    iOS常用设计模式之观察者模式
    git使用方法
    关于网络开发中XML的使用
    观察者模式的具体应用——通知(notification)机制和KVO(KeyValueObserving)机制
    HTTP协议(二)之HTTP请求
    iOS常用设计模式之委托模式
    x ^y mod m
    Problem A: 速算24点
  • 原文地址:https://www.cnblogs.com/wj12312/p/10108846.html
Copyright © 2011-2022 走看看