2017-01-18 6 views
0

私はxmlファイルを生成するプログラムを持っています。ウェブサイト上のフォームに記入するためにxmlデータを使用する必要があります。 (そして、これを複数回実行するためにループを使用します)。 私がこれまで行ってきた研究から、これを行う方法は、imacrosにブラウザのXMLファイルを開き、データをスクラブし、Webフォームを開いて記入することです。マクロ - xmlファイルを削り取り、それを使ってWebフォームに記入できますか?

ここで、どのようにすべて1つのスクリプトに収まるのでしょうか? 1つのスクリプトでデータを読み込んだり、それを使ってフォームに記入することはできますか?

私は自動ホットキーも見ましたが、これはimacrosよりもはるかに複雑に思えました。誰がこのタスクに適しているかについて意見を持っていますか?

誰かが正しい方向に私を向けることができれば、私は感謝します。ありがとう!

(私はフォームをスキップしてデータを投稿するためにカールを考えましたが、複雑すぎることが判明しました。政府のサイトで、サーブレットを使って情報を検証しています。その。)

+0

あなたは私の質問が気に入らなければ、私は理由を知っているように良識を持っていてください。 –

+0

あなたがコードを表示していないため、あなたはダウン投票された可能性があります。これはQ&Aではなく、コードレビューのウェブサイトです。あなたがコードの形でいくつかの努力を示し、あなたがより良くできることを尋ねたなら、多分それは投票されなかったでしょう。 – errorseven

答えて

0

これを行う方法は、imacrosのは、XMLをこすりすることはできません、私が知っているから、imacrosのブラウザでXMLファイルを開いているし、データをこすり、

することであるように聞こえますブラウザのデータが必要ですが、これは必須ではありません。最良の方法は、スクリプト(VBS、Pythonなど)を使用してXMLを読み取ってから、iMacros Scripting Interfaceを使用してWebブラウザに送信することです。以下は、あなたが行う必要があることをほぼ正確に行う例です:http://wiki.imacros.net/XML-2-Web.vbs

このAPIは、市販のiMacrosエンタープライズ版でのみ利用可能です。また、無料のbrowser apiを持つKantuブラウザを使用することもできます。より複雑なプログラミングがOKであれば、フォームの記入にはSelenium/WebDriverやPhantomJSなどのオプションがあります。

ウェブフォームを開いて記入してください。

正しい。フォームの塗りつぶし部分は、スクリプト内のiimSetとマクロ内のTAG .... CONTENT = {{your_variable}}を使用して、マクロ自体によって行われます。

0

おそらく、「Firefox用imacrosの」下のXMLデータをこすりする方法のこの例では、あなたの役に立つでしょう:

URL GOTO=http://www.xmlfiles.com/examples/simple.xml 
SEARCH SOURCE=REGEXP:"([\\s\\S]*)" EXTRACT=$1 
PROMPT {{!EXTRACT}} 

とにかく、私はあなたが正常にこのタスクを達成するために、JavaScript Scripting Interfaceを適用すべきであると考えています。

+0

も無料のスクリプトインターフェースですか? –

+0

「iMacros for Firefox」とそのスクリプトインターフェイスは完全に無料です。 – Shugar

0

このタスクには、AutoHotkeyが最適です。具体的には、COMオブジェクトを使用してXMLデータとInternet Explorer COMオブジェクトにアクセスして、Webサイトに情報を貼り付けることができます。

XML COM例:

exampleXML := 
(
"<note> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
</note>" 
)  

doc := ComObjCreate("MSXML2.DOMDocument.6.0") 
doc.async := false 
doc.loadXML(exampleXML) 


MsgBox % doc.selectSingleNode("//from").text "`n" 
     . doc.selectSingleNode("//body").text 

IE COM例:

pwb := ComObjCreate("InternetExplorer.Application") 
pwb.Visible := True 
pwb.RegisterAsBrowser := true 
pwb.Navigate("www.w3schools.com/html/html_forms.asp") 
    While pwb.Busy 
     Continue 
Sleep 3000 
pwb.document.getElementsByClassname("w3-white w3-padding notranslate")[0] 
.getElementsByTagname("input")[0].innertext := "Daffy" 
pwb.document.getElementsByClassname("w3-white w3-padding notranslate")[0] 
.getElementsByTagname("input")[1].innertext := "Duck" 
MsgBox % "Ok to exit" 
PWB.Quit() 
関連する問題