python - 上传窗口打开。需要通过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)
解决方案
如果您拥有upload button
(整个页面)的页面,如果下面的xpath
//input[@type='file']
exists
至少1/1
匹配一次后,您可以直接发送密钥。
明确不需要打开然后与弹出的窗口进行交互click
。upload button
driver1.find_element(By.XPATH("//input[@type='file']")).send_keys("C:\A1\AA1\M1\Input\TblGpsNew.xlsx")
推荐阅读
- c# - 如果我删除了一个可交互的对象,我该如何做到这一点,它将通过从列表中删除该项目来更新检查器中的列表?
- python-3.x - 如何在 Python 中使用语音识别自动检测语言
- java - Elasticsearch 条件分数调整
- python - Python子字符串 - 将第n个字符拆分到某个字符串的左侧
- firebase - 'toLowerCase' 方法在 null 上被调用。?
- flask-wtforms - Flask WTForms 如何返回 Posted FieldList 表单行数据
- javascript - 如何从返回函数中获取值并将其发送到 html 元素
- html - 循环通过时html div没有关闭
- javascript - 在 Vuejs 中调用数据内部的方法
- ms-access - MS ACCESS - 如何在两列的组合框中搜索值