如何使用 Google Apps 脚本的 UrlFetchApp 登录第三方网站,在登录过程中有一个下拉框 select

How can I use Google Apps Script's UrlFetchApp to login to a third party website that has a drop-down select box in the login process

我正在尝试使用 google 应用程序脚本登录此网站:tvg.com

该代码来自另一个 Stack Overflow 答案,似乎工作正常(我已经在其他网站上成功测试)除了 select 州的下拉框。我不确定问题是状态 selections 是由 javascript 动态创建的,还是我输入的实际字段被隐藏了。我的代码如下:

function Tvg() {
var payload =
   {
     "accountField" : "00000",             //not the actual account number
     "pinField" : "0000",                  // not the actual password
     "stateField" : "Massachusetts", 
   };
  var options =
   {
     "method" : "post",
     "payload" : payload,
     "followRedirects" : false
   };
  var login = UrlFetchApp.fetch("https://www.tvg.com/" , options);
  var sessionDetails = login.getAllHeaders()['Set-Cookie'];
  Logger.log(sessionDetails);
}

有没有人对如何使这项工作有任何建议。

州字段名是"stateAbbr",应该是州名的两个字母缩写。您可能还需要包含一个名为 "loginType" 的字段。

我通过检查他们页面上的登录表单发送的 POST 请求浏览了这些细节。由于我没有有效帐户,因此无法测试最终结果。

function Tvg() {
  var payload =
      { "loginType":"tvgup",
        "accountField" : "00000",             //not the actual account number
        "pinField" : "0000",                  // not the actual password
        "stateAbbr" : "AK", 
      };
  var options =
      {
        "method" : "post",
        "payload" : payload,
        "followRedirects" : false
      };
  var login = UrlFetchApp.fetch("https://www.tvg.com/login" , options);
  var sessionDetails = login.getAllHeaders()['Set-Cookie'];
  Logger.log(sessionDetails);
}

请注意,网站可能正在检查其他因素,例如引荐来源 url 或用于验证登录请求的 Cookie。