@Bigma said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@sergerdn ага, только еще не забудь хак поставить, чтоб не светить что веб драйвер используешь ...
@FastSpace said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@Bigma said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@sergerdn ага, только еще не забудь хак поставить, чтоб не светить что веб драйвер используешь ...
И этого мало будет
Ребята, вы вообще о чем в контексте темы топика? Кто-нибудь из вас смотрел исходный код библиотеки https://github.com/CheshireCaat/selenium-with-fingerprints ради минимального понимания как это работает? Ну или, хотя бы, запускал пару примеров оттуда? Ну или, хотя бы, просто смотрел их?

{
"detectorsResults": {
"detectAppVersion": {
"bot": false
},
"detectDocumentAttributes": {
"bot": false
},
"detectDocumentProperties": {
"bot": false
},
"detectErrorTrace": {
"bot": false
},
"detectEvalLengthInconsistency": {
"bot": false
},
"detectFunctionBind": {
"bot": false
},
"detectLanguagesLengthInconsistency": {
"bot": false
},
"detectNotificationPermissions": {
"bot": false
},
"detectPluginsArray": {
"bot": false
},
"detectPluginsLengthInconsistency": {
"bot": false
},
"detectProcess": {
"bot": false
},
"detectUserAgent": {
"bot": false
},
"detectWebDriver": {
"bot": false
},
"detectWebGL": {
"bot": false
},
"detectWindowExternal": {
"bot": false
},
"detectWindowProperties": {
"bot": false
},
"detectWindowSize": {
"bot": false
},
"detectMimeTypesConsistent": {
"bot": false
},
"detectProductSub": {
"bot": false
}
}
}
// Import dependencies:
require('chromedriver');
const {plugin} = require('selenium-with-fingerprints');
const fs = require('fs');
const {promisify} = require('util');
const writeFileAsync = promisify(fs.writeFile);
// Main function:
(async () => {
// Get a fingerprint from the server:
const fingerprint = await plugin.fetch('', {
tags: ['Microsoft Windows', 'Chrome'],
});
// Apply fingerprint:
plugin.useFingerprint(fingerprint);
// Launch the browser instance:
const driver = await plugin.launch();
// Maximize the window:
await driver.manage().window().maximize();
// Navigate to the website:
await driver.get('https://fingerprintjs.github.io/BotD/main/');
// Wait for the page to load:
await driver.wait(async () => {
const pageState = await driver.executeScript('return document.readyState');
return pageState === 'complete';
}, 10000);
// Take a screenshot:
const screenshot = await driver.takeScreenshot();
// Save the screenshot to a file:
await writeFileAsync('screenshot.png', screenshot, 'base64');
// Quit the browser:
await driver.quit();
})();