Python Selenium Into the UI Automatic testing will encounter file upload and download operations , Here's how to download files

Here's how to use FireFox Browser for file download operation .

1、 Set the default file download address

Here's the picture ,firefox Can pass Enter in the address field :about:config or about:aupport To view or modify configuration information .

2、 Set up automatic download operation

There are two solutions

2.1、 Set auto save download

Check... As shown in the figure below : In the future, the same action will be automatically used to process such files

So the next time you download a file of this type, you won't be reminded like this .

2.2、 You can modify the settings in Browser options

Here's the picture

3、 Download the file

When this is done , But the browser opened when the program started did not open according to this configuration .

Comparing with the figure below, we can find that , adopt webdriver The browser opened is different from the browser opened by hand , This is because webdriver The open browser is not opened according to the configuration file set by the browser . If you want to open as a profile , Get the configuration file information before opening it .

There are two solutions , as follows

3.1、 Add the code as follows :

 profile = webdriver.FirefoxProfile(r"C:\Users\Skyyj\AppData\Roaming\Mozilla\Firefox\Profiles\1rzh6139.default")
self.driver = webdriver.Firefox(profile)

3.2、 Add configuration information to the code

adopt about:config

adopt %APPDATA%\Mozilla\Firefox\Profiles\ Find the default configuration  

find mimeTypes.rdf Catalog , Open it in another way , Find the type of file you just saved

mimeTypes.rdf It's up there profile In the configuration path of

C:\Users\Skyyj\AppData\Roaming\Mozilla\Firefox\Profiles\1rzh6139.default
lookup fileExtensions="xlsx"
NC:value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
NC:editable="true"
NC:fileExtensions="xlsx"
NC:description="xlsx File">

 From the files we can know what kind of files we need
Insert the code as follows :
#profile = webdriver.FirefoxProfile(r"C:\Users\Skyyj\AppData\Roaming\Mozilla\Firefox\Profiles\1rzh6139.default")
profile = webdriver.FirefoxProfile() ## Set to 0 Represents the default download path to the browser ; Set to 2 Can be saved to the specified directory
profile.set_preference("browser.download.folderList", 2)
# Whether it is set here or not does not affect , No effect was found .
#profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", r"c:\Down")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
# I don't find any influence whether it is set or not
#profile.set_preference("browser.helperApps.alwaysAsk.force", False);
self.driver = webdriver.Firefox(profile)
 The second is recommended , So you don't need to set up a browser , Good portability .

Python Selenium More related articles on file download

  1. Python+Selenium+webdriver Environment building (windows) And related resources download link

    Today, let's record the test rookie alter A little bit about... At the beginning of testing python+Selenium+webdriver Environment building experience and resource sharing . Welcome to exchange and study , To criticize and correct . One .Python Download and install of 1.pytho ...

  2. Python Selenium File upload SendKeys

    It was written yesterday Web File download ui automation , After downloading , I'm going to write today web The function of file upload has been improved . Of course, it took two hours to upload . Now write down the steps of your own operation First of all, there are many ways to say it online Such as input The best thing to do with labels is , straight ...

  3. python+selenium Browser problems

    Previously used selenium call firefox It doesn't need to be driven , Recently installed python3.52+ Abreast of the times firefox I found that I couldn't tune it up After searching, we found that Firefox 47+ We need to have a firefox The driver  gecko ...

  4. A complete automated login test - be based on python+selenium Conduct cnblog Automated login testing for

    Web The login test is a very common test ! Manual testing is very familiar , So how to do automated login testing ! The author of this paper uses python+selenium combination unittest Unit testing framework for a simple but relatively complete cnblog Automatically ...

  5. Python + Selenium To realize the login Office 365

    Recently, I picked up what I used before Python + Selenium Achieve the login needed in the work Office 365 function .( Make complaints : Domestic network is really a card , Sign in Office 365 It's not easy . in addition Selenium All these websites need walls , Incomprehensible ...

  6. python+selenium+Robot

    preparation : 1. download python2.7 http://python.org/getit/ 2. Download... Download setuptools [python Basic package tools ] Can help us easily download , structure , install , upgrade , discharge ...

  7. python+selenium Operation error reporting UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    Use python+selenium When running automation scripts , Print a paragraph of text appears UnicodeEncodeError: 'ascii' codec can't encode characters in posi ...

  8. Functional testing - python, selenium and django

    Functional testing  - python selenium django - Source Code : from selenium import webdriverfrom sele ...

  9. python selenium automation ( Two ) Automated registration process

    demand : Use python selenium To automatically test a website registration process . Suppose the registration process of this website is divided into three steps , A lot of information needs to be provided : In this process , The user needs to fill in the information . Select from the drop-down menu . Select radio radio ...

Random recommendation

  1. 【 turn 】Javascript+css Realize the skin changing function of web page

    source :http://www.php100.com/html/webkaifa/DIV_CSS/2008/1014/2326.html Html Code section : 1. Have a belt id Style sheet links for , We have to operate ...

  2. Data Being Added Conflicts with Existing Data

    While developing a page with multiple scrolls levels, and especially when using a grid, you may get ...

  3. wifidog Source code analysis - Initialization phase

    Wifidog It's a linux Open source authentication gateway software , It is mainly used to cooperate with the authentication server to realize the authentication and release function of the wireless router . wifidog It's a backstage service program , Can pass wdctrl Command to wifidog The main program controls . ...

  4. Poj 1328 / OpenJudge 1328 Radar Installation

    1.Link: http://poj.org/problem?id=1328 http://bailian.openjudge.cn/practice/1328/ 2.Content: Radar I ...

  5. Photoshop CS4 Start pop up license agreement

    win7: Delete 1.C:\Users\All Users\FLEXnet\adobe_00080000_tsf.data WinXP:(c:/Documents and Settings/All Us ...

  6. Chapter 18 js Advanced knowledge --- Scope chain

    Always have the idea to write js Aspect stuff , I personally like js This language , Like his freedom and strength , Although there are many limitations as a scripting language , But it's also a good language , Especially in H5 After appearance . Let's start with js Things about the world , Due to their ...

  7. uva 1121 Subsequence

    https://vjudge.net/problem/UVA-1121 The question : Give a sequence of positive integers a, It is required to find the shortest continuous sequence so that the sum of all the numbers in the sequence is greater than or equal to S. Ideas : The first is because the sequences are all positive integers ...

  8. Mac appium apk The problem of overlay installation

    /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/n ...

  9. File download background error IllegalStateException: getOutputStream() has already been called

    java.lang.IllegalStateException: getOutputStream() has already been called <%@page language=" ...

  10. tomcat Cancel project name access path

    stay server.xml   in ,<host>...</host> Add... Between tags <Context path="" docBase="projec ...