天天看點

selenium淘寶阿裡媽媽分析selenium啟動參數配置執行JavaScript淘寶H5發請求核心代碼

selenium啟動參數配置

List<String> list = new ArrayList<>();
// 無界面浏覽器
// list.add("--headless");
list.add("--disable-gpu");
list.add("--no-sandbox");
list.add("--disable-dev-shm-usage");
list.add("--disable-cache");
// 禁止window.navigator.webdriver檢測
list.add("--disable-blink-features");
list.add("--disable-blink-features=AutomationControlled");
options.addArguments(list.toArray(new String[0]));

// 開啟代理
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl("http://127.0.0.1:" + System.getProperty("httpServer.port") + "/pac");
options.setProxy(proxy);

options.setExperimentalOption("excludeSwitches", Arrays.asList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
options.setCapability("acceptSslCerts", true);
options.setCapability("takesScreenshot", true);
options.setCapability("cssSelectorsEnabled", true);
options.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
           

執行JavaScript

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript(js);
           

淘寶H5發請求核心代碼

window.lib.mtop.H5Request({
AntiCreep: true, /* 防爬 */
AntiFlood: true, /* 防ddos */
api: 'mtop.alimama.moon.provider.edetail.iteminfo.get',
data: {url: 'https://detail.taobao.com/item.htm?id=' + itemId, extendParam:'{}'},
ecode: '0',
timeout: 20000,
type: 'GET',
v: '1.0'
}, function (data) {}, function (error) {}
);