Automação de Navegador com Selenium

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

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)

  }
})

 

Desenvolvido por BetterDocs