1
This commit is contained in:
BIN
tool/chromedriver/drive/chromedriver
Normal file
BIN
tool/chromedriver/drive/chromedriver
Normal file
Binary file not shown.
BIN
tool/chromedriver/drive/chromedriver.exe
Normal file
BIN
tool/chromedriver/drive/chromedriver.exe
Normal file
Binary file not shown.
90
tool/chromedriver/index.js
Normal file
90
tool/chromedriver/index.js
Normal file
@@ -0,0 +1,90 @@
|
||||
const { Builder, By, Key, until, support } = require('selenium-webdriver')
|
||||
const chrome = require('selenium-webdriver/chrome');
|
||||
const assert = require('assert')
|
||||
const cookie = require('cookie');
|
||||
const path = require("path");
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = {
|
||||
|
||||
|
||||
async initDriver({ url, cookies2 }) {
|
||||
console.log('initDriver开始初始化')
|
||||
let options = new chrome.Options();
|
||||
options.addArguments('--User-Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36"')
|
||||
options.addArguments('--no-sandbox')
|
||||
|
||||
if (process.platform === 'linux') {
|
||||
options.addArguments('--headless')
|
||||
}
|
||||
|
||||
options.addArguments('--Cache-Control="no-cache"')
|
||||
options.addArguments('--Host="huodong.taobao.com"')
|
||||
|
||||
|
||||
console.log('系统', process.platform)
|
||||
let service = null
|
||||
// lunix 系统
|
||||
if (process.platform === 'linux') {
|
||||
service = new chrome.ServiceBuilder(path.join(__dirname, './drive/chromedriver'));
|
||||
}
|
||||
else if (process.platform === 'win32') {
|
||||
service = new chrome.ServiceBuilder(path.join(__dirname, './drive/chromedriver.exe'));
|
||||
}
|
||||
|
||||
const driver = new Builder().forBrowser('chrome').setChromeService(service).setChromeOptions(options).build();
|
||||
|
||||
driver.get(url)
|
||||
|
||||
let cookies = `cookie2=${cookies2};`
|
||||
|
||||
var cookieObj = cookie.parse(cookies);
|
||||
let keys = Object.keys(cookieObj)
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
let key = keys[i]
|
||||
let value = cookieObj[key]
|
||||
await driver.manage().addCookie({ name: key, value, domain: '.taobao.com' })
|
||||
}
|
||||
|
||||
console.log('initDriver初始化完成')
|
||||
return driver
|
||||
},
|
||||
|
||||
|
||||
|
||||
async checkForm(driver) {
|
||||
|
||||
try {
|
||||
|
||||
let formCheckText = await driver.findElement(By.xpath("//div[@id=\'global-modal\']/div/div/div/h2")).getText()
|
||||
|
||||
let formCheckRules = []
|
||||
let formCheckRulesDom = await driver.findElements(By.css("#global-modal>div p"))
|
||||
for (let e of formCheckRulesDom) {
|
||||
let text = await e.getText();
|
||||
formCheckRules.push(text)
|
||||
}
|
||||
|
||||
|
||||
if (formCheckText === "请检查表单信息") {
|
||||
return { formCheckText, formCheckRules }
|
||||
}
|
||||
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
catch (e) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user