首页 > Web开发 > 详细

爬虫----webdriver

时间:2018-01-27 12:58:03      阅读:511      评论:0      收藏:0      [点我收藏+]

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)\Google\Chrome\Application\chromedriver.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()

 运行结果:

模拟登陆:

技术分享图片

登陆成功后:

技术分享图片

 

爬虫----webdriver

原文:https://www.cnblogs.com/pythonlx/p/8365085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!