簡體   English   中英

python selenium 附加文件,沒有可交互的元素

[英]python selenium attach file, no elements to interact with

我正在嘗試使用 selenium 附加文件,但 web 站點沒有可交互的元素。 我嘗試將密鑰發送到此代碼中與附件相關的多個元素,但 Selenium 需要一個 type="file" 的元素,但在這種情況下沒有。 網站也使用 javascript。 這是來自網站的代碼

<div id="multiattaches" class="multiattaches">
    
           <div class="multiattaches__content multiattaches__content_hidden" id="attachesContent">
            <div class="multiattaches__title">Attached files</div>
            <div class="multiattaches__clear" id="attachesClearContent">Delete all</div>
            <ol class="multiattaches__list" id="attachesList">
                
            </ol>
        </div>
    <div id="newAttachesLink" class="multiattaches__button" title="Attach a file">
        <i class="multiattaches__icon_attach"></i><span class="multiattaches__button__text">Attach</span>
    </div>
    <div class="multiattaches__count-attaches multiattaches__count-attaches_hidden" id="attachesCount">
        Files: <span id="attachesCountValue">-1</span>
    </div>
    <p id="newAttaches_info" class="new-attaches__info">Attach up to 32 files maximum 16 Mb per upload&nbsp;(.zip .txt .log .mqh .ex5 .mq5 .mq4 .ex4 .mt5 .set .tpl .cl .py .sqlite .csv .ipynb .gif .png .jpg .jpeg)</p>
</div>

我可以單擊這 2 個元素,然后會出現上傳對話框,但我無法使用要添加的文件發送密鑰,出現錯誤,無法與這些元素交互

        <i class="multiattaches__icon_attach"></i>
<span class="multiattaches__button__text">Attach</span>

在這種情況下,甚至可以使用 selenium 附加文件嗎? 如果沒有,是否有解決方案如何繞過這個?

我手動禁用了頁面的 javascript,刷新它並嘗試單擊附件按鈕,沒有任何反應(再次確認它使用 js)

我對 javascript 不太了解,所以這可能是錯誤的,但在這種情況下,imo 添加文件的唯一方法是創建和執行功能類似於原始的腳本,而不是從對話框中截取文件,而是直接轉發它. 我只是不知道該怎么做。

奇怪,現在我在代碼中看到了新行

<div id="multiattaches" class="multiattaches">
    
           <div class="multiattaches__content multiattaches__content_hidden" id="attachesContent">
            <div class="multiattaches__title">Attached files</div>
            <div class="multiattaches__clear" id="attachesClearContent">Delete all</div>
            <ol class="multiattaches__list" id="attachesList" style="max-height: 376px;"><li id="at_1" class="multiattaches__item multiattaches__item_hidden"><input type="file" name="attachedFile" size="63" class="multiattaches__input" id="_1" accept=".zip,.txt,.log,.mqh,.ex5,.mq5,.mq4,.ex4,.mt5,.set,.tpl,.cl,.py,.sqlite,.csv,.ipynb,.gif,.png,.jpg,.jpeg"><div class="multiattaches__extension"></div><div class="multiattaches__desc"><div class="multiattaches__name"></div><div class="multiattaches__size"></div></div><div class="multiattaches__delete" title="delete" data-num="1"></div></li></ol>
        </div>
    <div id="newAttachesLink" class="multiattaches__button" title="Attach a file">
        <i class="multiattaches__icon_attach"></i><span class="multiattaches__button__text">Attach</span>
    </div>
    <div class="multiattaches__count-attaches multiattaches__count-attaches_hidden" id="attachesCount">
        Files: <span id="attachesCountValue">0</span>
    </div>
    <p id="newAttaches_info" class="new-attaches__info">Attach up to 32 files maximum 16 Mb per upload&nbsp;(.zip .txt .log .mqh .ex5 .mq5 .mq4 .ex4 .mt5 .set .tpl .cl .py .sqlite .csv .ipynb .gif .png .jpg .jpeg)</p>
</div>

這個

<li id="at_1" class="multiattaches__item multiattaches__item_hidden"><input type="file" name="attachedFile" size="63" class="multiattaches__input" id="_1" accept=".zip,.txt,.log,.mqh,.ex5,.mq5,.mq4,.ex4,.mt5,.set,.tpl,.cl,.py,.sqlite,.csv,.ipynb,.gif,.png,.jpg,.jpeg"><div class="multiattaches__extension"></div><div class="multiattaches__desc"><div class="multiattaches__name"></div><div class="multiattaches__size"></div></div><div class="multiattaches__delete" title="delete" data-num="1"></div></li>

它包含 selenium 工作的必要元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM