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



  • 相关阅读:
    Hibernate+mysql 中文问题解决方案.
    FpSpread表格控件,FpSpread事件介绍(一)
    如何实现打开有宏的EXCEL时不提示
    使用VB.Net写一个简单的数据访问层(不能称ORM):CRUD操作
    Asp.NET 时间Since转换
    64位操作系统上。NET操作MSMQ的问题
    IIS7配置管理Windows2008 64位系统IIS7的问题
    数据库开发批量附加数据库
    IIS7中对静态文件的处理
    techsailor三步曲
  • 原文地址:https://www.cnblogs.com/Raul2018/p/9288560.html
Copyright © 2011-2022 走看看