Selenium python 如何在没有输入类型文件的情况下上传文件?

时间:2021-03-18 18:02:06

标签: python selenium selenium-webdriver

我正在使用 Selenium python 自动化站点。我面临的问题是,我必须上传文件,但在我可以使用 send_keys() 方法的地方没有可用的输入类型文件。 文件上传元素:

<div id="data-assets-interior-file-upload" data-upload-properties="{&quot;formId&quot;:&quot;form-main-1&quot;,&quot;path&quot;:&quot;data[assets][interior]&quot;,&quot;modalUpload&quot;:&quot;Uploading...&quot;,&quot;warnExtensionsStrings&quot;:{&quot;pdf&quot;:&quot;&lt;div class=\&quot;a-box a-alert-inline a-alert-inline-warning\&quot;&gt;&lt;div class=\&quot;a-box-inner a-alert-container\&quot;&gt;&lt;i class=\&quot;a-icon a-icon-alert\&quot;&gt;&lt;\/i&gt;&lt;div class=\&quot;a-alert-content\&quot;&gt;\n            Most PDF files do not produce great results in an automated conversion process. We recommend using a Word, Mobi, ePUB or HTML file if you have one. &lt;a href=\&quot;\/en_US\/help\/topic\/A2GF0UFHIYG9VQ?ref_=_fg\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;Learn more.&lt;\/a&gt;\n         &lt;\/div&gt;&lt;\/div&gt;&lt;\/div&gt;\n         &lt;div id=\&quot;file-warn-actions\&quot; class=\&quot;a-form-actions a-spacing-none a-spacing-top-large\&quot;&gt;\n            &lt;div class=\&quot;a-row a-spacing-none\&quot;&gt;\n            &lt;div class=\&quot;a-column a-span6\&quot;&gt;\n               &lt;span class=\&quot;a-declarative\&quot; data-action=\&quot;potter-file-warn-extension-continue\&quot; data-potter-file-warn-extension-continue=\&quot;{}\&quot;&gt;\n                  &lt;span id=\&quot;file-warn-extension-continue\&quot; class=\&quot;a-button a-button-base button-fill\&quot;&gt;&lt;span class=\&quot;a-button-inner\&quot;&gt;&lt;button id=\&quot;file-warn-extension-continue-announce\&quot; class=\&quot;a-button-text\&quot; type=\&quot;button\&quot;&gt;\n                     Continue with PDF\n                  &lt;\/button&gt;&lt;\/span&gt;&lt;\/span&gt;\n               &lt;\/span&gt;\n            &lt;\/div&gt;\n            &lt;div class=\&quot;a-column a-span6 a-span-last\&quot;&gt;\n               &lt;span class=\&quot;a-declarative\&quot; data-action=\&quot;potter-file-warn-extension-cancel\&quot; data-potter-file-warn-extension-cancel=\&quot;{}\&quot;&gt;\n                  &lt;span id=\&quot;file-warn-extension-cancel\&quot; class=\&quot;a-button a-button-primary button-fill\&quot;&gt;&lt;span class=\&quot;a-button-inner\&quot;&gt;&lt;button id=\&quot;file-warn-extension-cancel-announce\&quot; class=\&quot;a-button-text\&quot; type=\&quot;button\&quot;&gt;\n                     I have another format\n                  &lt;\/button&gt;&lt;\/span&gt;&lt;\/span&gt;\n               &lt;\/span&gt;\n            &lt;\/div&gt;\n            &lt;\/div&gt;\n         &lt;\/div&gt;&quot;,&quot;pdf-header&quot;:&quot;Do you have another format?&quot;},&quot;acceptedExtensions&quot;:&quot;doc,docx,zip,htm,html,mobi,azw,epub,rtf,txt,pdf,kpf&quot;,&quot;multipart&quot;:null,&quot;persistSuccess&quot;:true,&quot;warnExtensions&quot;:[&quot;pdf&quot;],&quot;key&quot;:&quot;save&quot;,&quot;url&quot;:&quot;\/en_US\/title-setup\/kindle\/A3U1YUNVSBYTMZ\/content\/action\/save&quot;,&quot;workflowId&quot;:&quot;assets.interior&quot;,&quot;assetType&quot;:&quot;DIGITAL_BOOK_BLOCK&quot;}" class="a-section jele-file-field">
     <div class="a-section a-spacing-none file-upload-options-section">           
        
           <p class="a-spacing-small">                
           </p>               
              <div class="a-row file-upload-extra-info-message-section">
                 <div class="a-column a-span12">
                    <div class="a-box a-alert a-alert-info"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">Use Kindle Create to transform your manuscript to an eBook with professional book themes, images, and Table of Contents. <a href="https://kdp.amazon.com/help/topic/GHU4YEWXQGNLU94T?ref_=kdpgp_e_us_kc_tsw" target="_blank">Click here to download for free</a>.</div></div></div>
                 </div>
              </div>
              <br/>
          
           <div class="a-row file-upload-browse-section">
              <div class="a-column a-span12">                        
                <span class="a-declarative" data-action="browse-clicked" data-browse-clicked="{&quot;signInRequired&quot;:false,&quot;id&quot;:&quot;data-assets-interior-file-upload&quot;}">
                     <span id="data-assets-interior-file-upload-browse-button" class="a-button a-button-primary file-upload-browse-button"><span class="a-button-inner"><button id="data-assets-interior-file-upload-browse-button-announce" class="a-button-text" type="button">
                     Upload Book
                    </button></span></span>
                 </span>
                 <span class="a-declarative" data-action="file-selected" data-file-selected="{}" id="data-assets-interior-uploader">
                    <span class="fileuploader a-hidden"></span>
                 </span>
                 <p class="a-spacing-top-small a-size-mini a-color-tertiary a-text-italic">                        
                 </p>
              </div>
           </div>
           <input type="hidden" name="" value="doc,docx,zip,htm,html,mobi,azw,epub,rtf,txt,pdf,kpf" id="data-assets-interior-file-upload-accepted-extensions" class="accepted-extensions"/>            
 </div> </div>
     

谁能告诉我,如何处理这种情况?如果你要为它推荐一些其他的库,那么也请在 python 中发布相关示例。谢谢

0 个答案:

没有答案