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



  • 相关阅读:
    win7系统宽带自动断开怎么解决【系统天地】
    Win10系统修复受损文件教程【系统天地】
    win10如何加快开机速度【系统天地】
    Netty核心概念(5)之Channel
    Netty核心概念(4)之Bootstrap
    漫谈NIO(3)之Netty实现
    漫谈NIO(2)之Java的NIO
    漫谈NIO(1)之计算机IO实现
    机器学习实战(二)决策树
    机器学习实战(一)k-近邻算法
  • 原文地址:https://www.cnblogs.com/Raul2018/p/9288560.html
Copyright © 2020-2023  润新知