代码之家  ›  专栏  ›  技术社区  ›  Monica

使用Selenium和Python在没有url的情况下单击下载文件

  •  1
  • Monica  · 技术社区  · 2 年前

    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    download_dir = 'C:/Users/ASUS/Documents/data'
    
    driver = webdriver.Chrome("C:/chrome/chromedriver.exe")
    driver.get("http://www.ins.tn/statistiques/90#")
    button = driver.find_element_by_class_name('btnexport')
    button.click()
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   undetected Selenium    2 年前

    要单击图标下载excel,您需要导入 WebDriverWait 对于 element_to_be_clickable() locator strategies

    • 使用 CSS_选择器 :

      driver.execute("get", {'url': 'http://www.ins.tn/statistiques/90#'})
      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.export a.btnexport[id^='btnExporttoExcel']"))).click()
      
    • XPATH :

      driver.execute("get", {'url': 'http://www.ins.tn/statistiques/90#'})
      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='export']//a[@class='btnexport  ' and starts-with(@id, 'btnExporttoExcel')]"))).click()
      
    • 笔记 :您必须添加以下导入:

      from selenium.webdriver.support.ui import WebDriverWait
      from selenium.webdriver.common.by import By
      from selenium.webdriver.support import expected_conditions as EC
      

    download