想全面的使用selenium可以下载《selenium 2自动化测试实战-基于Python语言》PDF的电子书看看

我使用到了简单的浏览器操作,下载文件等功能。。。

推荐使用firefox,selenium对火狐的支持非常好,在写脚本的时候可以避开很多坑

from selenium import webdriver

driver = webdriver.Firefox()  # 创建一个实例
driver.get(weburl) #打开浏览器输入URL为weburl
driver.get_screenshot_as_file(“保存路径”)#浏览器窗口截图
#元素定位方法,这里简单说几个
driver.find_element_by_xpath() #xpath html绝对路径定位,其他方法定位不到时使用
driver.find_element_by_id() #通过ID定位
driver.find_element_by_class_name() #类名定位
在标签没有属性的情况下定位:
driver.find_element_by_xpath("//strong[text()='123123']")
 #定位后可通过一下方法操作 #send_keys('向该元素发送本字符串') #click() #鼠标单击 #text #获取元素内容 例如; driver.find_element_by_id('name').send_keys('admin') #其他一些方法,很多,就不一一例举了 driver.implicitly_wait(5) # 设置最长等待时间 driver.refresh() #页面刷新
lr=driver.current_url   #获取当前浏览器URL

下载文件的代码:

      fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2) #改为2,可设置文件保存目录
fp.set_preference("browser.download.manager.showWhenStarting",False) #False:不显示下载
fp.set_preference("browser.download.dir",r"C:\Program Files (x86)") #第二个参数是文件的保存路径
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/x-msdownload") #第二个元素为下载文件的扩展名Content-type,此处为exe文件
dr = webdriver.Firefox(firefox_profile=fp) #更多扩展名Content-type可到http://tool.oschina.net/commons查看
dr.get(url)
time.sleep(4) #等待页面显示
dr.find_element_by_partial_link_text('点击下载').click()
time.sleep(2) #等待下载
dr.quit() #关闭浏览区驱动,退出浏览器

Python扩展模块——selenium的使用(定位、下载文件等)的更多相关文章

  1. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  2. [python爬虫] Selenium常见元素定位方法和操作的学习介绍

    这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...

  3. python3+selenium入门14-上传下载文件

    上传文件一种方式是通过定位input标签,然后使用send_keys()方法传入需要上传文件的路径.另一种是使用第三方插件去上传文件.下面看下imput标签的方式.工具可以自己查下. <!DOC ...

  4. python webdriver api-右键另存下载文件

    右键另存下载文件 先编辑SciTE脚本: ;ControlFocus("title","text",controlID) ;表示将焦点切换到标题为title窗体 ...

  5. python使用selenium,webdriver自动下载百度网盘内容

    想实现一个自动下载微信公众号分享百度网盘图片链接的爬虫,使用selenium和火狐的webdriver进行完成 1.首先根据自己的浏览器下载相应的webdriver驱动器,python中导入selen ...

  6. 初级版python登录验证,上传下载文件加MD5文件校验

    服务器端程序 import socket import json import struct import hashlib import os def md5_code(usr, pwd): ret ...

  7. python网络编程-socket上传下载文件(包括md5验证,大数据发送,粘包处理)

    ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边(md5计算)发数据 8)给客户端发md5 ft ...

  8. python网络爬虫之使用scrapy下载文件

    前面介绍了ImagesPipeline用于下载图片,Scrapy还提供了FilesPipeline用与文件下载.和之前的ImagesPipeline一样,FilesPipeline使用时只需要通过it ...

  9. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

随机推荐

  1. 关系型数据库工作原理-查询优化器之索引(翻译自Coding-Geek文章)

    本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...

  2. HashMap中的resize以及死链的情况

    之前我已经写过关于HashMap的内容了:http://www.cnblogs.com/wang-meng/p/7545725.html 我们都知道HashMap是线程不安全的, 如果多线程来访问会有 ...

  3. 【转】UML的9种图例解析

    UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...

  4. Linux基础教程(一)——Linux系统简介

    Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于 ...

  5. centos6.x上安装Java-1.8.0

    author : headsen chen date : 2017-12-04  10:32:44 notice :This  article is created by headsen chen h ...

  6. shell脚本之for循环

    shell脚本之for循环 author :headsen  chen       2017-10-18    09:50:41 个人原创,转载请注明.否则依法追究法律责任 1,cat forloop ...

  7. 解决新版的vue-cli后无法通过ip访问vue项目

    今天遇到个问题,之前一直没遇到过,通过vue-cli脚手架搭建的项目,只能通过localhost访问,不能通过IP地址访问. 这是由 webpack 导致的,2017年11月12日的时候 webpac ...

  8. Linux shell 基础

    目录 一.shell脚本的基本使用 1.语言规范 2.变量 3.重定向(>,>>) 二.运算符和常用判断 1.比较运算符 2.逻辑运算符 3.常用判断 三.程序结构 1.分支(if语 ...

  9. IDEA设置生成类基本注释信息

    在eclipse中我们按一下快捷键就会生成类的基本信息相关的注释,其实在IDEA中也是可以的,需要我们手动设置,之后再创建类的时候就会自动加上这些基本的信息. File-->Setting 在E ...

  10. day1-计算机基础

    第一单元  计算机组成原理 一.概念及过程 1.进行逻辑和数值高速计算的计算机器,有存储功能,能按照程序自动执行,且能够处理海量数据的现代化电子设备. 2.发展过程 数学运算:算盘,帕斯卡的齿轮装置, ...