A automação de navegador é um recurso que permite automatizar processos online. Isso pode ser tão simples como um simples clique em um botão ou sistemas de login e registro automatizados complexos.
A automação de navegador Incogniton utiliza o driver do Selenium. Além disso, também oferecemos suporte à automação do Puppeteer.
Linguagens suportadas
Atualmente, temos suporte apenas para Python. A implementação atual requer algumas configurações adicionais a serem definidas em Python antes de iniciar um perfil. Outras linguagens, como Java, estão em desenvolvimento.
Selenium com Incogniton
Para se comunicar com a integração do Selenium com Incogniton, duas portas podem ser definidas. Uma é a porta geral da API e a outra é a porta específica do hub do Selenium. A porta padrão da API é 35000 e a porta padrão do Selenium é 4444. Os valores das portas podem ser alterados seguindo os seguintes passos:
- Vá em C:\Users\%username%\incogniton
- Abra auth.json
- Mude seleniumPort e apiPort para as portas desejadas
Requisitos
- Java 8 (https://www.java.com/en/download/ie_manual.jsp)
- Pacote mais recente do Selenium para Python
exemplo de Python
from selenium import webdriver
from ast import literal_eval
import requests
incogniton_profile_id = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxx'
incogniton_url = 'http://127.0.0.1:35000/automation/launch/python/'+incogniton_profile_id
resp = requests.get(incogniton_url)
incomingJson = resp.json()
python_dict = literal_eval(incomingJson['dataDict'])
driver = webdriver.Remote(
command_executor = incomingJson['url'],
desired_capabilities = literal_eval(incomingJson['dataDict']) )
driver.get("https://www.incogniton.com")
exemplo de Python com POST
from selenium import webdriver
from selenium import webdriver
from ast import literal_eval
import requests
incogniton_profile_id = 'fc68c71d-4e3e-43ec-9cf6-2541d7cbe6ae'
try:
stop_url = 'http://127.0.0.1:35000/profile/stop/'+incogniton_profile_id
resp = requests.get(stop_url)
except:
print("Failed to stop")
incogniton_url = 'http://127.0.0.1:35000/automation/launch/python/'
data = {"profileID": incogniton_profile_id ,"customArgs": "--disable-notifications"}
resp = requests.post(incogniton_url,data)
print(resp.json())
incomingJson = resp.json()
python_dict = literal_eval(incomingJson['dataDict'])
incomingUrl = incomingJson['url']
driver = webdriver.Remote(
command_executor = incomingUrl)
driver.get("https://www.incogniton.com")
Puppeteer com Incogniton
exemplo de NodeJS
const puppeteer = require('puppeteer')
var request = require("request")
var incognitonProfileID = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxx';
var url = "http://localhost:35000/automation/launch/puppeteer/" + incognitonProfileID;
function sleepFor(sleepDuration) {
var now = new Date().getTime();
while (new Date().getTime() < now + sleepDuration) {}
}
function actions(body) {
sleepFor(3000); //Some time for the browser to actually start.
const screenshot = 'screenshot.png'
try {
(async () => {
const browserURL = body.puppeteerUrl;
const browser = await puppeteer.connect({
browserURL
});
const page = await browser.newPage()
await page.goto('https://hotmail.com')
await page.screenshot({
path: screenshot
})
await browser.close()
console.log('See screenshot: ' + screenshot)
})()
} catch (err) {
console.error(err)
}
}
request({
url: url,
json: true,
headers: {
'Content-Type': 'application/json'
}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
actions(body)
}
})