publicvoidpost(String url)throws InterruptedException {
String chromedriverPath ="chromedriver";// Optional, if not specified, WebDriver will search your path for chromedriver.
System.setProperty("webdriver.chrome.driver", chromedriverPath);
ChromeDriver driver =newChromeDriver();// 全屏ChromeDriver
driver.manage().window().maximize();
String script ="const form = document.createElement('form');\n"+"form.method = 'post';\n"+"form.action = '%s';\n"+"document.body.appendChild(form);\n"+"form.submit();";// post
driver.executeScript(String.format(script, url));}
原文代码
/**
* sends a request to the specified url from a form. this will change the window location.
* @param {string} path the path to send the post request to
* @param {object} params the paramiters to add to the url
* @param {string} [method=post] the method to use on the form
*/functionpost(path, params, method='post'){// The rest of this code assumes you are not using a library.// It can be made less wordy if you use one.const form = document.createElement('form');
form.method = method;
form.action = path;for(const key in params){if(params.hasOwnProperty(key)){const hiddenField = document.createElement('input');
hiddenField.type ='hidden';
hiddenField.name = key;
hiddenField.value = params[key];
form.appendChild(hiddenField);}}
document.body.appendChild(form);
form.submit();}