zoukankan      html  css  js  c++  java
  • 爬虫----webdriver

    Selenium是ThroughtWorks公司开发的一套Web自动化测试工具。
    它分为三个组件:
    Selenium IDE
    Selenium RC (Remote Control)
    Selenium Webdriver
    Selenium IDE是firefox的一个插件,允许测试人员录制脚本并回放。
    Selenium RC和Selenium Webdriver是测试框架,提供多种语言的API。不同的是,Selenium Webdriver以一种更底层、更灵活的方式来操作浏览器,并不仅仅使用JavaScript。这样它可以绕开浏览器的沙箱限制,实现Selenium RC不支持的框架、弹出窗口、页面导航、下拉菜单、基于AJAX的UI元素等控件的操作。以及,Selenium Webdriver不需要本地服务器。
    Selenium 1.x版本只包含前两个组件。从2.0开始Webdriver加入其中。

    Webdriver在使用之前,需要下载一个浏览器所对应用的驱动插件,请根据自己不同的浏览器版本,进行下载,并把chromdriver放在google.exe当前目录下.

    登陆豆瓣:

    #!/usr/bin/env python 
    #coding:utf8
    
    import os
    from selenium import webdriver
    import time
    import  random
    
    class loginWeb():
        def __init__(self):
            self.url = "https://accounts.douban.com/login"
            self.browser = webdriver.Chrome(r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe")
    
        def randomSleep(self,minS, maxS):
            time.sleep((maxS - minS) * random.random() + minS)
    
        def login(self):
            self.browser.get(url=self.url)
            print(self.browser.find_element_by_id("email").text)
            self.browser.find_element_by_id("email").clear()
            self.browser.find_element_by_id("email").send_keys("xxxxxxxxxxx")
            self.randomSleep(2, 5)
            self.browser.find_element_by_id("password").send_keys("xxx")
            self.randomSleep(1, 4)
            self.browser.find_element_by_id("remember").click()
            time.sleep(6)
            self.browser.find_element_by_name("login").click()
            self.randomSleep(2, 5)
            print(self.browser.get_cookies())
            # browser.quit()
    
    if __name__ == "__main__":
        loginweb = loginWeb()
        loginweb.login()

     运行结果:

    模拟登陆:

    登陆成功后:

  • 相关阅读:
    hibernate 多对多 最佳实践
    世界上速度最快的输入法 Fleksy 为了支持中国
    他们控制的定义-DragButton
    怎么样linux下的目录名的目录,系统用来操作空间
    无形的力量,看得见的手
    如何设置eclipse在默认模式下打开文件
    【比赛组织和共享源代码】那些红卫兵游戏
    [Oracle] 分析功能(1)- 语法
    SAP ABAP第一,两,三代出口型BADI实现 解释的概念
    JSP简单的练习-功能标签
  • 原文地址:https://www.cnblogs.com/pythonlx/p/8365085.html
Copyright © 2011-2022 走看看