簡體   English   中英

使用Selenium C#上傳文件

[英]Uploading a file with Selenium C#

我在使用Chromedriver和C#在Selenium中管理文件上傳時遇到問題。 我讀了幾個關於文件上傳器對話窗口的類似問題的答案,以及如何解決這個問題。 問題是我沒有標准的輸入元素 ,而是我有這個:

<div class="scUploadWrapper">
    <div id="Overlay2" class="scUploadOverlay" style="width: 80px; height: 59px;">
        <embed id="yuigen1" type="application/x-shockwave-flash" src="..." style="undefined" name="yuigen1" bgcolor="#ffffff" quality="high" allowscriptaccess="always" wmode="transparent" menu="false" flashvars="allowedDomain=domain.com&elementID=yuigen1&eventHandler=YAHOO.widget.FlashAdapter.eventHandler" tabindex="1" width="100%" height="100%"/>
    </div>
    <a class="scOption" href="#" onclick="javascript:scForm.invoke('media:multiupload(load=1, ownframe=1)');return false">
        <img class="scIcon" src="/temp/IconCache/Applications/32x32/export1.png" alt="" width="32" border="0" height="32"/>
        <div class="scHeader">Upload Files</div>
    </a>
</div>

問題是這個解決方法

linkUploadFiles.WaitTillVisible(); linkUploadFiles.SendText(@"C:\\Users\\folder\\image.PNG");

因此不可用。 任何想法如何處理它? 我有點卡住了。 非常感謝。

Selenium無法處理基於窗口的對話。 而是使用Auto IT腳本。
示例腳本如下。
根據Windows對話框的屬性修改腳本:

Local $hWnd = WinWait("[CLASS:#32770]", "", 120)
ControlClick($hWnd,"","[CLASS:Edit; INSTANCE:1]")
Send($pathofFile)
Send("{ENTER}")
Exit

暫無
暫無

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

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