使用python selenium将csv文件上传到google工作表

9wbgstp7  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(150)

我想上传一个csv文件到google工作表的一个特定的单元格。因为我需要上传一个csv文件到一个特定的单元格,我想我会尝试使用selenium。我选择了一个单元格,并打开了上传弹出窗口。但是每当我尝试"send_keys"时,我会得到"element not interactable"错误。有没有可能文件类型的上传元素被隐藏了?
我的代码:

#open upload popup
cell_location.send_keys('\ue03do')

#get iframe of upload popup
iframe_path = driver.find_element_by_xpath('/html/body/div[{}]/div[2]/iframe'.format(141))
driver.switch_to.frame(iframe_path)

time.sleep(1)
#navigate to upload file
upload = driver.find_element_by_xpath('//*[@id=":9"]/div')
upload.click()
time.sleep(1)
select_file = driver.find_element_by_xpath('//*[@id=":1f"]/div')
    
#pathetically attempt to upload file
time.sleep(1)
select_file.click()
select_file.send_keys('/Users/Documents/web_scaper/grant_proposals.csv')

如果有不清楚的地方请告诉我!谢谢!

flseospp

flseospp1#

我已经尝试了很多不同的方法来解决这个问题。终于找到了解决办法。
你不应该点击"Upload"按钮本身,在它下面,你会看到一个inspect元素的input,只需复制input元素的XPath,这就是你要做的。send_keys("file path")。
下面是一个例子:

driver.find_element("xpath", '//*[@id="yDmH0d"]/div[2]/div[3]/div[2]/div[2]/div/div/div/div[1]/div/div[2]/div/input')

相关问题