我想上传一个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')
如果有不清楚的地方请告诉我!谢谢!
1条答案
按热度按时间flseospp1#
我已经尝试了很多不同的方法来解决这个问题。终于找到了解决办法。
你不应该点击"Upload"按钮本身,在它下面,你会看到一个inspect元素的input,只需复制input元素的XPath,这就是你要做的。send_keys("file path")。
下面是一个例子: