2017-01-18 1 views
0

У меня есть программа, которая генерирует XML-файлы. Мне нужно использовать данные xml для заполнения формы на веб-сайте. (а затем используйте цикл, чтобы сделать это несколько раз). Из исследования, которое я сделал до сих пор, похоже, что для этого нужно, чтобы imacros открывал xml-файл в браузере, затем очищал данные, затем открывал веб-форму и заполнял ее.macro - можете ли вы очистить XML-файл, а затем использовать его для заполнения веб-формы?

Теперь, как все, что вписывается в один скрипт? Может ли один скрипт читать данные, а затем использовать его для заполнения формы?

Я также изучал autohotkey, но это казалось намного сложнее, чем imacros - есть ли у кого-нибудь мнение о том, что более подходит для этой задачи?

Буду признателен, если кто-нибудь может указать мне в правильном направлении здесь. Благодаря!

(в случае, если кто-либо спрашивает, я думал о том, чтобы пропустить форму и использовать завиток для публикации данных, но оказалось, что это слишком сложно. Это правительственный сайт, использующий сервлеты для проверки информации, и я отказался от что.)

+0

, если вам не нравится мой вопрос, пожалуйста, порядочности, дайте мне знать, почему. –

+0

Вы, скорее всего, проголосовали за то, что вы не показываете какой-либо код, это веб-сайт обзора кода, а не Q & A.Если вы проявили некоторые усилия, в виде кода, и спросили, что вы могли бы сделать лучше, чем, возможно, это не было бы сбито. – errorseven

ответ

0

это звучит как способ сделать это, чтобы иметь imacros открыть файл XML в браузере, а затем соскрести данные,

Из того, что я знаю, iMacros не может царапать XML данных в браузере, но это также не требуется. Лучший подход - прочитать XML через скрипт (VBS, Python, ...), а затем использовать интерфейс сценариев iMacros , чтобы отправить его в веб-браузер. Вот пример, который делает практически то, что вам нужно сделать: http://wiki.imacros.net/XML-2-Web.vbs

Обратите внимание, что этот API доступен только в коммерческой версии iMacros Enterprise. В качестве альтернативы вы можете использовать Kantu Browser, который имеет бесплатный browser api. Если какое-то более сложное программирование в порядке, другие варианты заполнения формы - Selenium/WebDriver или даже PhantomJS.

затем откройте веб-форму и заполните ее.

Исправить. Часть заполнения формы выполняется самим макросом, используя iimSet в скрипте и TAG .... CONTENT = {{your_variable}} в макросе.

0

Возможно, это пример того, как скрести данные XML в разделе «iMacros для Firefox» будет полезно для вас:

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

Во всяком случае я считаю, что вы должны применять JavaScript Scripting Interface для того, чтобы успешно выполнить эту задачу.

+0

Интерфейс сценариев также бесплатный? –

+0

«iMacros для Firefox» и его скриптовый интерфейс абсолютно бесплатны. – Shugar

0

AutoHotkey - прекрасный выбор для этой задачи. Более конкретно, вы хотите использовать COM-объекты для доступа к вашим данным XML и COM-объектам Internet Explorer для вставки информации на ваш сайт.

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() 
Смежные вопросы