爬虫----webdriver
Posted zhan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫----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)\\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的主要内容,如果未能解决你的问题,请参考以下文章