我正在開發一個JS程序,它應該打開一個網頁www.mysite.com &點擊該網頁內的鏈接以下載pdf。 點擊鏈接看起來是這樣的:Javascript:點擊鏈接下載pdf
<a onclick="download();return false;" href="#noWhere">Click to Download</a>
通常情況下,手動點擊該鏈接,調用下面的函數來下載pdf文件:
function download() {
document.forms[0].action = path + "/xxW04_sv_0140Action.do";
document.forms[0].target = "_self";
document.forms[0].submit();
}
我的代碼被簡化的JavaScript代碼來打開頁面&點擊「點擊下載」按鈕是這樣的:
<script>
var linkname = "http://www.mysite.com";
var windowname = "window_1"
// Opens a new window
var myWindow = window.open(linkname, windowname ,"width=400,height=600");
//should open a link to download pdf
myWindow.document.getElementById('href = \"#noWhere\"').click();
</script>
到目前爲止,我可以在一個單獨的窗口,我們打開網頁「mysite.com」但由於某種原因沒有按鈕點擊發生,當然也沒有下載pdf。 當然,如果我手動點擊「點擊下載」按鈕,它會下載。
誰能告訴我我做錯了什麼?爲什麼我不能用上面的js代碼模擬點擊?
或者可能給我一些嘗試的東西。任何幫助大大讚賞和比你。
更新: 從下面的最初答案,可能這種方法註定失敗!任何人都可以提出一個更好的方式,我可以下載這些PDF文件?
如果您的腳本與您的腳本不在同一個域中,則無法使用JavaScript點擊站點。你爲什麼不能將.pdf的url複製到腳本中? – Adassko
getElementById('href = \「#noWhere \」')將不起作用。你傳遞給這個方法的字符串不是一個id。你應該使用querySelectorAll – kamilkp
@ kamilkp,我認爲getElementById('href = \「#noWhere \'')可能是一個遠射,但是在鏈接上沒有id。你有沒有看到其他方式來識別這個鏈接?我將如何使用「querySelectorAll」? – arpeggio