如何在Python Selenium上传文件?

时间:2017-12-16 17:49:45

标签: python file selenium xpath upload

我在远程PC中启动了一个浏览器,我想将该文件从该远程PC中的本地文件夹导入到我的Web应用程序中。当我单击“导入”按钮时,它会将我重定向到“文件上载”,该文件上载不会显示该帧的任何xpath。我试图获取导入按钮的xpath,并使用该对象的send_keys到该对象,如下所示,

importbutton=driver.find_element_by_xpath(".//*@id='templateUploadButton_label']/img")
importbutton.send_keys("C:/../pathtofile")

但它给我一个像这样的错误

  

selenium.common.exceptions.WebDriverException:消息:未知错误:   无法集中元素

但是,当我执行importbutton.click()时,它会打开文件上传帧。

手动步骤:点击导入 - >打开文件上传框架,我选择了一个本地路径,然后单击打开,如果我们可以继续上传,则显示一个对话框,然后我点击YES。

1 个答案:

答案 0 :(得分:0)

.//*@id='templateUploadButton_label']/img

您正在尝试将密钥发送到img元素,而不是input - 因此错误。

更改您的定位器,使input定位type="file"元素。