![](/img/trans.png)
[英]Selenium + Python - Not able to interact/click with JavaScript
[英]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 (.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 (.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.