【发布时间】:2020-01-27 07:15:18
【问题描述】:
所以基本上我在使用 Selenium Python 上传一些照片时遇到问题 input 元素似乎隐藏在页面中,因此 .sendkeys 方法仍然遇到一些错误。
这是输入元素的html代码
<div data-react-class="ImageUploadForm" data-react-props="{}" data-react-cache-id="ImageUploadForm-0">
<input class="hidden" type="file" accept="image/jpeg, image/jpg, image/png, image/gif">
<button class="btn btn-lemonfrog text-lg" type="button">Upload photo</button>
</div>
base_path = Path(file).parent
filepath = (basepath / "../core/attachments/clientstackphoto.jpeg").resolve()
hiddenuploaderinput.sendkeys(filepath)
现在运行上面的代码后,我收到了类型错误: value = (PosixPath('........./core/attachments/clientstackphoto.jpeg'),)
def keys_to_typing(value):
"""Processes the values that will be typed in the element."""
typing = []
for val in value:
if isinstance(val, Keys):
typing.append(val)
elif isinstance(val, int):
val = str(val)
for i in range(len(val)):
typing.append(val[i])
else:
for i in range(len(val)):E TypeError: 'PosixPath' 类型的对象没有 len()
../../venv/lib/python3.7/site-packages/selenium/webdriver/common/utils.py:150: TypeError
我希望上传照片成功,也许一些js注入会有所帮助?
【问题讨论】:
标签: javascript python selenium image-uploading hidden-field