zoukankan      html  css  js  c++  java
  • Selenium Python FirefoxWebDriver处理打开保存对话框

     代码如下(网上示例):

    #profile =  webdriver.FirefoxProfile(r"C:UsersSkyyjAppDataRoamingMozillaFirefoxProfiles1rzh6139.default")
    profile = webdriver.FirefoxProfile()

    ##设置成0代表下载到浏览器默认下载路径;设置成2则可以保存到指定目录
    profile.set_preference("browser.download.folderList", 2)
    #这里设置与否不影响,没有发现有什么影响。
    #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")
    #这里设置与否没有发现有什么影响
    #profile.set_preference("browser.helperApps.alwaysAsk.force", False);
    self.driver = webdriver.Firefox(profile)

    自己写的实例(Environment:Python3.6.5+Selenium+PyCharm+Firefox61+FirefoxDriver)

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time,os

    profile = webdriver.FirefoxProfile()

    #save the file to directory=E:sliCIFS2
    profile.set_preference("browser.download.dir", r"E:sliCIFS2")
    profile.set_preference("browser.download.folderList", 2)
    profile.set_preference("browser.download.manager.showWhenStarting", False)

    #download .zip file
    profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/zip")

    #driver = webdriver.Firefox(firefox_profile=profile)
    driver = webdriver.Firefox(profile)

    driver.get("http://10.49.5.8:8080/RLink/login.jsp")
    driver.maximize_window()
    # -----------------------------------Login Steps----------------------------------------------
    # input user name
    driver.find_element_by_id("j_username").send_keys("1")
    time.sleep(1)
    # input password
    driver.find_element_by_id("j_password").send_keys("1")
    time.sleep(1)
    # click "Log in" button
    driver.find_element_by_id("buttonSubmit").click()
    time.sleep(1)

    # -----------------------------------Download Steps----------------------------------------------
    # Highlight a zip file by xpath
    driver.find_element_by_xpath("/html/body/div[6]/div[2]/div/div[7]/div/div/div[3]/div/div[4]/div/div[4]/div/div/div/div/div/ul/li[10]/div/table/tbody/tr[1]/td/div/div/div/table/tbody/tr/td/div/div/img").click()
    time.sleep(2)
    # click "Download" button
    driver.find_element_by_xpath("/html/body/div[6]/div[2]/div/div[5]/div/table/tbody/tr/td[1]/table/tbody/tr/td[2]/div/table/tbody/tr/td[2]/table/tbody/tr[2]/td/div").click()
    time.sleep(2)

    # -----------------------------------Logout Steps----------------------------------------------
    # click "下拉框" of user menu
    driver.find_element_by_xpath('/html/body/div[6]/div[2]/div/div[5]/div/table/tbody/tr/td[2]/table/tbody/tr/td/div/table/tbody/tr/td[2]/table/tbody/tr/td[2]/img').click()
    time.sleep(1)
    # click "Log Out"
    driver.find_element_by_xpath("//div[text()='Log Out']").click()
    time.sleep(1)
    # click "Yes" on confirm dialog
    driver.find_element_by_xpath('/html/body/div[9]/div/div/div/div[3]/div/div[2]/button[1]').click()
    # click "No" on confirm dialog
    #driver.find_element_by_xpath('/html/body/div[9]/div/div/div/div[3]/div/div[2]/button[2]').click()
    time.sleep(1)
    driver.quit()



  • 相关阅读:
    啊,好久没更新了,今天分享一个小工具,两个方法,转换字节数组成十六进制字符串
    Oracle的关于建表,约束,查询等的练习
    Oracle的完整练习,纯手工打字,可能有一两点错误。。。
    Oracle的用户管理,授权及备份
    Oracle视图,序列及同义词、集合操作
    Oracle的总体回顾
    Oracle表管理
    Oracle基本代码学习
    网上B2C书城,1.0javaWEB版!!好几天没更新了,都忙着做那个网站了~
    Daily Scrum 12.23
  • 原文地址:https://www.cnblogs.com/Raul2018/p/9288560.html
Copyright © 2011-2022 走看看