无法使用selenium和python上载照片

无法使用selenium和python上载照片,python,selenium,Python,Selenium,我正在尝试使用selenium和python自动填充表单。除了通过单击添加照片按钮上传图像外,一切似乎都正常。以下是按钮的html片段: <div style="position: relative; overflow: hidden; display: inline-block;" class="image-uploader-button-wrap"> <input style="left: -1000px; top: 0px; position: absolute;

我正在尝试使用selenium和python自动填充表单。除了通过单击添加照片按钮上传图像外,一切似乎都正常。以下是按钮的html片段:

<div style="position: relative; overflow: hidden; display: inline-block;" class="image-uploader-button-wrap">
    <input style="left: -1000px; top: 0px; position: absolute;" name="Filedata" accept="image/*" multiple="multiple" id="imageUploader_1" type="file">
    <input class="olx-upload-button" value="Add photos" type="button">
</div>
但这给了我以下错误:

selenium.common.exceptions.ElementNotVisibleException: Message: u'Element is not currently visible and so may not be interacted with' ;
2第二种方法:

elem = driver.find_element_by_class_name("olx-upload-button").click()
这将打开一个Windows弹出窗口,我无法找到从本地目录桌面选择图像并在窗口弹出窗口中选择“打开”的方法。 弹出窗口后,我尝试执行以下操作:

driver.find_element_by_id("imageUploader_1").send_keys("/Users/ue/Desktop/703.png")
但什么也没发生。我已经看过了几乎所有关于SO的帖子,我很确定我离修复还有一步之遥。任何想法/建议/提示都会很有帮助

尝试删除溢出:隐藏和/或使用JavascriptExecutor

Selenium根据以下标准决定是否显示元素:

显示选项或optgroup时,如果显示封闭选择,则忽略选择的不透明度。 如果显示了使用它的图像,并且元素的面积为正值,则会显示图像贴图元素。 不显示任何隐藏的输入。 没有显示任何NOSCRIPT元素。 不显示任何具有隐藏可见性的图元。 显示样式等于“无”或具有祖先的任何元素 显示样式等于“无”时不显示。 没有显示任何透明元素。 未显示任何没有正尺寸的元件。 垂直或水平SVG路径元素将报告零宽度或高度,但如果其笔划宽度为正,则会显示。 如果零大小的元素具有正大小的子元素或文本节点,则仍应将其视为正大小,除非 元素的“溢出”样式为“隐藏”。 不显示溢出隐藏的元素。
你找到答案了吗?您必须在单击之前取消隐藏

elem=驱动程序。通过\u id'imageUploader\u 1'查找\u元素\u driver.execute_scriptarguments[0]。类型='file';,元素 elem.send_key/Users/ue/Desktop/703.png


告诉我它是否有效

嘿,谢谢你的回复,但我如何删除溢出隐藏?这是在网页的html中预先定义的…我没有创建它。任何人都可以帮我做这个??仍然卡住:
driver.find_element_by_id("imageUploader_1").send_keys("/Users/ue/Desktop/703.png")