首页 > 解决方案 > 使用 Selenium chromedriver (Python) 上传文件时出错 - “选择的文件扩展名无效”

问题描述

我在 Python 3.8 上使用 Selenium Chrome 网络驱动程序

尝试自动上传文件。当我使用 webdriver 中的文件选择器时,我从网站收到错误消息:“选择的文件扩展名无效”。当我手动选择相同的文件时,它可以工作。它也是网站允许的文件扩展名 (pdf)。

以下是出现错误的前一段代码:

file_input = browser.find_element_by_css_selector(
    '[aria-label="select file to upload"]')
path = f'{os.getcwd()}\\Memo Style.pdf'
file_input.send_keys(path)

这是网站在我运行时显示的内容:

选择了无效的文件扩展名

这是生成文件选择器的网站的 html:

<div data-role="input-control" class="input-control text">
<input aria-label="select file to upload" multiple="multiple" type="file" 
accept=".3GP,.AAC,.AIFF,.ASF,.AVI,.BMP,.DMG,.DOC,.DOCX,.DRC,.F4V,.FLAC,
.FLV,.GIF,.ISO,.JPEG,.JPG,.M2TS,.M4A,.M4P,.M4V,.MKV,.MOV,.MP2,.MP3,.MP4,
.MPA,.MPC,.MPEG,.MPG,.MTS,.NSV,.OGA,.OGG,.ONE,.ONEPKG,.PDF,.PNG,.PPT,
.PPTX,.PSD,.QT,.ROQ,.RTF,.SVG,.SVI,.TIFF,.TXT,.VOB,.VOX,.VSD,.WAV,.WEBM,
.WMA,.WMV,.XLS,.XLSX,.FLS,.AVE" class="file-upload">
</div>

我真的不知道要尝试解决什么问题。我可以使用 pyautogui 进行上传,但显然最好避免这种情况。

标签: pythonseleniumupload

解决方案


推荐阅读