[英]Retrieving element with no name or id
我正在嘗試編寫一些代碼來完成一些非常簡單的事情。 我以前從未使用過PayPal按鈕,這引起了一些麻煩。
我之前可以使用document.getElementById或document.getElementsByName()模擬一次按鈕單擊,但是,我上面試圖提交的表單沒有名稱或ID,所以我不知道如何引用在我的代碼中。
我正在嘗試使用Javascript編寫一個簡短的chrome擴展程序,該擴展程序將在頁面上找到貝寶表單/按鈕(我不擁有或無法控制),然后提交它而無需點擊它。 任何指導/鏈接將不勝感激。
看起來您的按鈕有一個名稱,因此您可以使用.getElementsByName()
var btn = document.getElementsByname('submit')[0]
如果您有權使用jQuery,或者可以將jQuery添加到您的項目中,那么
var btn = jQuery('input[name="submit"]')
使用jQuery會更容易,但是使用本機js,您可以執行以下操作:
function getPaypalForms()
{
var matchingElements = [];
var allForms = document.getElementsByTagName('form');
for (var i = 0; i < allForms.length; i++)
{
if (allForms[i].getAttribute('action') == 'https://www.paypal.com/cgi-bin/webscr')
{
// Element exists with attribute. Add to array.
matchingElements.push(allElements[i]);
}
}
return matchingElements;
}
您可以通過多種方法來編輯此功能,以更好地滿足您的目的。 您可以對其進行編輯以僅從這些表單中收集提交按鈕,或對其進行重構以接受與attr和value匹配的字符串。 但是,就像我說的那樣,使用jquery會容易得多:
$('form[action="https://www.paypal.com/cgi-bin/webscr"]');
根據您的更新,首先:不要這樣做,除非您試圖用錢騙人。 在這種情況下,請勿執行此操作=)(我不是律師,但我很確定貝寶可以繼續前進“好吧,您沒有單擊按鈕,而是對其進行了自動化。現在有人在您的網站上花費了您500美元不想。強硬”)。 也就是說:document.getElementsByTagName(“ form”),然后對getAttribute(“ action”)進行過濾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.