2

我想使用chrome中的userscript/tampermonkey提交自動填充的密碼錶單。但它不起作用 - 字段密碼字段保持爲空(服務器響應甚至是警報消息),直到窗口實際上由用戶控制(任何實際的鍵盤按下或鼠標單擊)。 這似乎很重要,如果你想要一個userscript自動登錄,而不需要將密碼硬編碼到你的腳本。提交自動填充(密碼輸入字段)

有沒有人有解釋和/或解決方法?

我想我知道要提交表單的一切行爲.submit()或分派實際鼠標點擊事件等

自己嘗試一下:自動保存密碼/名稱的位置:http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html

附加信息:Tampermonkey版本3.12.58,chrome版本49.0.2623.110米,Windows 10 64x。我也嘗試停用Chrome中的所有擴展。

Userscript由該網頁雲:

// ==UserScript== 
// @name   New Userscript 
// @namespace http://tampermonkey.net/ 
// @version  0.1 
// @description try to take over the world! 
// @author  You 
// @match  http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html 
// @grant  none 
// ==/UserScript== 

//wait 5s to assert that chrome autofill had enough time to do its thing 
setTimeout(function(){document.forms[0].submit()},5000) 

編輯:循環的代碼,從來沒有提交。因爲this suggestion密碼字段的

loopme() 

function loopme() { 
    setTimeout(function(){ 
     //check every second if 'password field' is empty, if not, submit the form 
     if(document.forms[0].elements[1].value != ''){ 
      document.forms[0].submit() 
     } else { 
      //make count visible 
      document.title = "|" + document.title 
      //edit: adding an virtual 'click' makes no difference: 
      //var mouseClick = new MouseEvent("click"); 
      //document.body.dispatchEvent(mouseClick); 
      loopme() 
      } 
    },1000) 
} 


截圖基於Chrome錯誤。 左:表單提交前,右:服務器響應。

enter image description hereenter image description here

(詳細)運行循環腳本時鉻的日誌文件:

Navigated to http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html 
content: Started (5edc5230-099a-412a-bca4-48c97edb3113, http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html) 
content: start event processing for 5edc5230-099a-412a-bca4-48c97edb3113 (1 to run) 
env: initialized (content, id:5edc5230-099a-412a-bca4-48c97edb3113, http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html) 
env: schedule 'New Userscript' for document-idle 
env: schedule for later events! 
env: first DOMNodeInserted Event! 
content: Started (d2f1e833-ce3f-48e8-a81c-cf4a93475a98, nullblank) 
content: disable event processing for d2f1e833-ce3f-48e8-a81c-cf4a93475a98 
content: Started (6b10cff5-a3a1-4eab-9286-f7e49aaa5952, http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html) 
content: disable event processing for 6b10cff5-a3a1-4eab-9286-f7e49aaa5952 
content: Started (dc4a5836-69a6-4194-a631-ad2354cc6a33, nullblank) 
content: disable event processing for dc4a5836-69a6-4194-a631-ad2354cc6a33 
env: DOMContentLoaded Event! 
content: detected DOMContentLoaded 5edc5230-099a-412a-bca4-48c97edb3113 
content: Started (df53f06c-55ba-4398-8a4d-0b41d2fb3f93, nullblank) 
content: disable event processing for df53f06c-55ba-4398-8a4d-0b41d2fb3f93 
env: execute script New Userscript @ the safe context now! 
content: Started (069446ea-3b29-42c4-8c13-9f4f112f6a01, https://googleads.g.doubleclick.net/pagead/html/r20160331/r20151006/zrt_lookup.html) 
content: disable event processing for 069446ea-3b29-42c4-8c13-9f4f112f6a01 
content: Started (127600e6-61f8-4e15-862a-fe0aaa6e4683, http://s7.addthis.com/static/sh.953eb77977227bfd253ee158.html) 
content: disable event processing for 127600e6-61f8-4e15-862a-fe0aaa6e4683 
content: Started (b50036dc-266a-4328-92b9-6937c09419e3, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for b50036dc-266a-4328-92b9-6937c09419e3 
content: Started (5df2993f-2fc5-4f40-8fa9-aa37c7ffd987, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for 5df2993f-2fc5-4f40-8fa9-aa37c7ffd987 
content: Started (8f6c166e-6e61-4776-ba28-8caf786704f4, http://tpc.googlesyndication.com/safeframe/1-0-2/html/container.html) 
content: disable event processing for 8f6c166e-6e61-4776-ba28-8caf786704f4 
content: Started (c9082438-936d-4ba3-b76e-bf7cc9f48bae, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for c9082438-936d-4ba3-b76e-bf7cc9f48bae 
content: Started (2439efaa-3ea5-461b-a8a1-25b2be866f1a, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for 2439efaa-3ea5-461b-a8a1-25b2be866f1a 
content: Started (fdd7347c-3bf8-4e05-a9bb-97e0e26d543e, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for fdd7347c-3bf8-4e05-a9bb-97e0e26d543e 
content: Started (5e2a844c-fe1e-4c8d-af07-09b3b1ab272c, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for 5e2a844c-fe1e-4c8d-af07-09b3b1ab272c 
content: Started (0cef6828-3752-4b05-a8de-68cb90f6b29b, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for 0cef6828-3752-4b05-a8de-68cb90f6b29b 
content: detected load 5edc5230-099a-412a-bca4-48c97edb3113 
content: Started (65ce238d-9bd8-45cd-8d52-8d215ae3fe62, https://googleads.g.doubleclick.net/pagead/ads) 
content: disable event processing for 65ce238d-9bd8-45cd-8d52-8d215ae3fe62 
content: Started (c3747272-9bf6-4a6b-baf3-d38b7fbb8134, nullblank) 
content: disable event processing for c3747272-9bf6-4a6b-baf3-d38b7fbb8134 
+0

請添加更多關於您的問題的信息,例如您的示例代碼。 –

+0

補充,請記住,我實際上並不想讀/截取密碼值。相反,我不想閱讀它們,但提交它們。然而就我的測試而言,如果用戶自動提交表單(甚至在setTimeout等之後),服務器將不會收到自動填充的名稱/密碼 - 除非您提供某種「真實」用戶操作(例如,單擊,按下某個鍵)。我懷疑這是在鉻側的安全措施,但...我不知道,我真的很想讓我的腳本工作=) – user2305193

+0

對不起,但仍然不清楚你的問題...你想模擬一個提交動作,但你提供的代碼什麼都沒做? –

回答