如何使用复杂的HTML情况在python selennium中上传图片

时间:2019-05-31 05:53:56

标签: python selenium

我正在设置网站上传过程的自动化过程,而我现在正努力上传图片。

通常您会使用

uploadBtn.send_keys(Path)

,但图像不会上传。我也一直在尝试实现一些Javascript,因此我添加了一个属性“ type = file”

我的Python代码:

uploadInput = driver.find_element_by_xpath("//a[contains(.,\"Browse\")]")#
jsSetAttributeFileInput = "arguments[0].setAttribute(\"type\",\"file\")"
driver.execute_script(jsSetAttributeFileInput, uploadInput)
uploadInput.send_keys(design["DesignPath"])

网站的HTML:

<a href="javascript:void(0)"> Browse </a>

我希望结果可以上传我的图片,但它不会上传。我没有收到任何错误,但只是没有上传。我认为它与HTML有关,因为它是一个'a'标签而不是'input'标签

1 个答案:

答案 0 :(得分:0)

尝试一下:

uploadInput = driver.find_element_by_xpath("//a[contains(.,\"Browse\")]")
uploadInput.send_keys(os.getcwd()+"/image.png")

找到您的提交按钮,然后单击它。

os.getcwd()返回当前工作目录。 image.png位于同一目录中正在运行的脚本的旁边