【问题标题】:Uploading file using selenium python使用 selenium python 上传文件
【发布时间】:2021-02-08 20:23:47
【问题描述】:

我正在尝试使用 selenium 和 python 在网站上上传 jpg 文件。

我碰巧找到了一种方法,并在一个练习网站上取得了成功。 (http://demo.guru99.com/test/upload/)

但是当我尝试我真正的目标网站时,该方法不起作用。

这是关于文件上传的网站元素。

<span class="reg_btn_full"><input type="file" name="btnSelectFile" class="reg_file" cmd="reg"></span>
<input type="file" name="btnSelectFile" class="reg_file" cmd="reg">

我在元素中找不到 ID,所以我使用了 X 路径。

这是我的代码。

driver.find_element_by_xpath("the x path").send_keys("D:/1.jpg")

而且错误代码是这样的。

Exception has occurred: InvalidArgumentException
Message: File not found: D:/1.jpg

你觉得跟表单元素有关系吗?

如果你这么认为,请告诉我该怎么做。

【问题讨论】:

    标签: python selenium file-upload sendkeys


    【解决方案1】:

    https://stackoverflow.com/a/51446063/1387701 基本上它是在尝试加载该文件路径,而不是输入它。您需要在本地下载文件。

    【讨论】:

    • 对不起,先生,但我不明白。我将本地路径指定为“D:/1.jpg”,文件确实在那里。(我说过,我在其他网站上成功上传了文件。)你认为我需要本地下载文件吗?
    • 错误是找不到文件。它显然不在那个路径上,或者 python 没有加载它的权限。
    • 当你说它在其他网站上运行时,你在执行之间有什么变化?
    【解决方案2】:

    我终于解决了问题。

    答案很简单。

    我的重点是错误消息是“找不到文件”

    我尝试了很多方法,当我将“/”更改为“//”时,它起作用了。

    我只是将“D:/1.jpg”更改为“D://1.jpg”,它神奇地起作用了。

    我仍然不知道为什么其他网站可以正常使用“D:/1.jpg”

    但无论如何,我的问题已经解决了。

    【讨论】:

      猜你喜欢
      • 2017-10-02
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2023-03-06
      • 2016-10-19
      • 2020-12-05
      相关资源
      最近更新 更多