首页 > 解决方案 > 上传窗口打开。需要通过python输入文件路径

问题描述

在此处输入图像描述

嗨团队,我已经创建了需要上传文件的程序。通过点击“上传”,我到达了这个窗口。但我现在卡住了。我需要自动输入路径。如果您有任何示例,请提供帮助。

driver1 = webdriver.Chrome(executable_path= r'C:\\Users\\Ast1\\Desktop\\chromedriver.exe')
    Sharepoint ="https://ast.sharepoint.com/sites/ExtTeam_GPS/Shared%20Documents/Forms/AllItems.aspx?viewid=3638f543%2D486c%2D4bca%2D85a7%2D8d86da0a8eb5&id=%2Fsites%2FExtTeam%5FNO%2FShared%20Documents%2FPowerBI%20Datasets"
    driverLink= Sharepoint
    driver1.get(driverLink)
    Em = WebDriverWait(driver1,120).until(EC.presence_of_element_located((By.ID,'i0116')))
    Em.send_keys("astemp1@ast.com")
    elm =WebDriverWait(driver1,120).until(EC.presence_of_element_located((By.ID,'idSIButton9')))
    elm.click()
    driver1.implicitly_wait(100)
    #elm1 = WebDriverWait(driver1,100).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,'Upload')))
    elm2 = driver1.find_element_by_xpath('//*[@id="appRoot"]/div[1]/div[2]/div[3]/div/div[2]/div[2]/div[2]/div[1]/div/div/div/div/div/div/div[1]/div[2]/button')
    elm2.click()
    driver1.implicitly_wait(20)
    elm3 = driver1.find_element_by_name('Files')
    elm3.click()
    driver1.implicitly_wait(20)
    #Follwing code is not working.
    Elm4 = driver1.find_element(By.ID('File name'))
    Elm4.send_keys(r'C:\A1\AA1\M1\Input\TblGpsNew.xlsx')
    #driver1.implicitly_wait(100)

标签: pythonselenium-webdriver

解决方案


如果您拥有upload button(整个页面)的页面,如果下面的xpath

//input[@type='file']

exists至少1/1匹配一次后,您可以直接发送密钥。

明确不需要打开然后与弹出的窗口进行交互clickupload button

driver1.find_element(By.XPATH("//input[@type='file']")).send_keys("C:\A1\AA1\M1\Input\TblGpsNew.xlsx")

推荐阅读