我尝试通过编写Tampermonkey脚本来自动填写表单并提交。
以下是我的剧本:
// ==UserScript==
// @name FBA Calculator
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match https://sellercentral.amazon.com/fba/profitabilitycalculator/index?lang=en_US
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
// @copyright 2012+, You
// ==/UserScript==
$(document).ready(function(){
$("#search-string").val("B017C1Q7TM");
$("input.a-button-input[type='submit']").eq(0).click();
});

但是当脚本工作时,它会重定向到同一个url,所以脚本只会在这个匹配的url上再次运行,所以它一直在提交,当然这不是我想要做的。
任何帮助解决这个问题都将非常感谢!!!
答案 0 :(得分:2)
仅当“加载”指示不可见时才执行操作:
if (!$("#please-wait-loading").is(":visible")) {
$("#search-string").val("B017C1Q7TM");
$('#search-form input[type="submit"]').click();
}
或者使用你自己的旗帜:
if (!document.body.__searching) {
document.body.__searching = true;
$("#search-string").val("B017C1Q7TM");
$('#search-form input[type="submit"]').click();
}
答案 1 :(得分:0)
感谢WOxxOm,这是一个非常鼓舞人心的答案。
唯一的是输入框的默认值是"输入您的产品名称,UPC,EAN,ISBN或ASIN"。所以我改变了下面的代码。
var node = title.SelectSingleNode(".//span[@id='titletextonly']");

但不幸的是,如果您尝试运行代码,您会在每次提交时发现它仍会重定向到同一页面,并仍然继续提交:(
还有其他想法吗?