首页 > 其他分享 >Selenium成长之路-21下载文件

Selenium成长之路-21下载文件

时间:2022-12-13 10:07:52浏览次数:44  
标签:fp webdriver 21 selenium Selenium 之路 preference 下载 browser


在项目过程中,上传,下载是很常用的功能,为了验证功能好不好用,我们可以通过webdriver。

webdriver允许我们设置默认文件下载路径。

 但是,想要下载,我们需要先了解下载文件的类型,有两种方式,

curl

   >>curl -I  http:/www.baidu.com

Selenium成长之路-21下载文件_文件下载

    可以直接看到 content_type  的类型

requests

import requests

file_type = requests.head("http://www.baidu.com").headers['content-type']
print(file_type)

      >>>>打印结果:

Selenium成长之路-21下载文件_os模块_02

弄清楚了需要下载的内容类型之后,我们就有目标了。

上代码:

# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-5-21
"""

from selenium import webdriver
from selenium.webdriver.common.by import By
import os
import requests


fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")

browser = webdriver.Firefox(firefox_profile=fp)
url = "https://pypi.org/project/selenium/#files"
browser.get(url)
browser.find_element(By.PARTIAL_LINK_TEXT,"selenium-3").click()

browser.quit()

 

1、browser.download.dir:指定下载文件路径

2、os.getcwd()返回当前路径 

          >>>不太明白的,建议看一下 os模块, 在实际项目中,os模块运用的不算少

3、application/octet-stream:内容类型

 

标签:fp,webdriver,21,selenium,Selenium,之路,preference,下载,browser
From: https://blog.51cto.com/u_15910936/5932495

相关文章

  • Selenium中免登录的实现方法一option
    Selenium中免登录的实现方法一option在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。学员在VIP自动化课程中多有涉及。1.准备工作打开一个......
  • Selenium13--模拟键盘操作
    键盘操作概述自动化测试的本质使用程序运行代替对于网页的人工操作。用户在网页上操作时,可能会按下键盘上的各种按键。比如:输入登录账号信息后,直接在文本框里按下键......
  • Selenium14--模拟鼠标操作
    模拟鼠标操作在实际场景中,会有单击、长时间单击、双击、右击、拖放、移动等鼠标操作,或在当前光标位置的按键输入或鼠标操作。selenium提供了名为ActionChains的类来处理......
  • Selenium4+Python3系列(十三) - 与docker中的jenkins持续集成
    前言文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们......
  • C++ Primer (5th) 3.21
    #include<iostream>#include<vector>usingnamespacestd;usingstd::vector;intmain(intargc,charconst*argv[]){vector<int>v1;vector<int>v2(......
  • Selenium12--元素基本操作
    文本框和文本域点击:click()清空:clear()输入:send_keys("数据")保留原内容,追加输入文本域输入换行时使用转义字符\n来表示获得属性值get_attribut......
  • Selenium11--浏览器基本操作
    浏览器基本操作SeleniumWebDriver提供各种有用的方法来控制浏览器常见的浏览器基本操作分类:浏览器导航操作调整浏览器窗口大小操作获取窗口里网页信息浏览器......
  • 20221312 实验七——缓冲区溢出 实验报告
    缓冲区溢出实验指导书内容一、实验简介缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码......
  • django之路由层
    django之路由层目录django之路由层可视化界面之数据增删改查django请求生命周期流程图django路由层反向解析可视化界面之数据增删改查数据对象主键字段的获取可以使用更......
  • django后端之路由层
    目录数据增删改查django请求生命周期流程图(*****)django路由层1.路由匹配2.正则匹配3.转换器4.正则匹配的无名有名分组反向解析基本使用动态路由的反向解析数据增删改查......