Загрузка PhantomJS с использованием ссылки на JavaScript
Я пытаюсь очистить веб-сайт ниже:
Если вы нажмете маленькую кнопку в правом верхнем углу таблицы с названием «экспорт данных», скрипт javascript запустится, и мой браузер загрузит файл в формате .csv. Я хотел бы иметь возможность написать скрипт PhantomJS, который может сделать это автоматически. Есть идеи?
Вышеуказанная кнопка закодирована в HTML как таковая:
<a id="LB_cmdCSV" href="javascript:__doPostBack('LB$cmdCSV','')">Export Data</a></div>
Я также нашел эту функцию в исходном коде HTML:
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
Я очень новичок в PhantomJS / Javascript и мог бы использовать некоторые указатели здесь. Я думаю, что нашел всю информацию, которая мне нужна, чтобы сделать это автоматически (поправьте меня, если я ошибаюсь), но просто не уверен, с чего начать при ее кодировании. Спасибо за любую помощь.
РЕДАКТИРОВАТЬ - Вот как выглядит мой скрипт прямо сейчас:
var page = new WebPage();
url = 'http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=0&type=8&season=2011&month=0&season1=2011&ind=0&team=0&rost=0& players=0';
page.open(encodeURI(url), function (status){
if (status !== "success") {
console.log("Unable to access website");
} else {
page.evaluate(function() {
__doPostBack('LB$cmdCSV', '');
});
}
phantom.exit(0);
});