セレンは初めてです。私の要件は、参照ボタンを使用してcsvファイルのアップロードを自動化することです。直面している問題は、同じ名前と同じ値の2つの参照ボタンを持つ2つのフォームがあるため、に基づいて参照ボタンをクリックする必要があります。 form(フォーム名が異なります)以下は私のサンプルコードです
参照ボタンをクリックするスクリプト:
#include <IE.au3>
; Internet Explorer is partly integrated in shell.application
$oShell = ObjCreate("shell.application") ; Get the Windows Shell Object
$oShellWindows=$oShell.windows ; Get the collection of open shell Windows
$MyIExplorer=""
for $Window in $oShellWindows ; Count all existing shell windows
; Note: Internet Explorer appends a slash to the URL in it's window name
if StringInStr($Window.LocationURL,"http://") then
$MyIExplorer=$Window
exitloop
endif
next
$oForm = _IEGetObjByName ($MyIExplorer, "document.forms['UploadForm'].elements['browsebutton']")
_IEAction($oForm, "click")
以下は、csvファイルをアップロードするための私のスクリプトです
WinActivate("File Upload");
Local $file ="C:\Work\selenium\abc.csv"
ControlSetText("Choose file", "", "Edit1", $file )
ControlClick("File Upload", "", "Button2")
私のJavaクラスで以下のようにコードを呼び出しています:
Process proc = Runtime.getRuntime().exec("C:\\bowsebutton.exe");
Process proc1 = Runtime.getRuntime().exec("C:\\test3.exe");
seleinumを実行すると、参照ボタンをまったくクリックできませんが、手動で参照ボタンをクリックすると、csvが自動的にアップロードされ、ファイルが送信されます。
参照ボタンがクリックされていない理由がわかりません。助けていただければ幸いです。