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()

     运行结果:

    模拟登陆:

    登陆成功后:

  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/pythonlx/p/8365085.html
Copyright © 2011-2022 走看看