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()



  • 相关阅读:
    失效的Eclipse API(一)
    contiki系统分析四:内存分配
    Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
    Error about updating UI in background thread
    ubuntu 安装ssh server
    [置顶] 树链剖分小节
    [置顶] LCA的树链剖分实现
    飞天开放平台编程指南——阿里云计算的实践
    一道C#面试题
    jQuery参考实例 1.8 将前一次选择的元素集合并到当前选择的元素集中
  • 原文地址:https://www.cnblogs.com/Raul2018/p/9288560.html
Copyright © 2011-2022 走看看