云登浏览器 + (puppeteer、selenium)+ ( js + python) 调试

id:环境管理 > 环境列表 > 序号/ID

在这里插入图片描述

api 启动环境

http://localhost:50213/api/v2/browser/start?account_id=环境id

返回数据

{
    "code": 0,
    "msg": "success",
    "data": {
        "ws": {
            "selenium": "127.0.0.1:52412",
            "puppeteer": "ws://127.0.0.1:52412/devtools/browser/*****************"
        },
        "debuggingPort": "52412",
        "webdriver": "C:\\Users\\oowwe\\FbBrowser\\3.0.0.5\\chromedriver.exe"
    }
}

puppeteer

“puppeteer”: “18.2.1” 测试正常

// 环境id
fetch(`http://localhost:50213/api/v2/browser/start?account_id=${id}`)
    .then((response) => response.json())
    .then((res) => {
      createPage(res.data.ws.puppeteer);
    })
    .catch((err) => {
      // console.log('连接店铺失败失败', err);
    });
    
const createPage = async (ws: string) => {
    rpaController.browser = await puppeteer.connect({
      browserWSEndpoint: ws,
    });
    
    // 监听连接断开事件
    rpaController.browser.on('disconnected', wsDisconnected);
  };

selenium

客户使用selenium+webdriver控制浏览器,版本兼容问题增加命令行参数:“–disable-build-check” 即可:例如: service = webdriver.ChromeService.Service(service_args=[‘–disable-build-check’], executable_path=chromedriver_path)

js

npm init

npm install selenium-webdriver

npm i axios

main.js

const { Builder, By, until } = require("selenium-webdriver");
const chrome = require("selenium-webdriver/chrome");
const axios = require("axios");

/**
 * 启动子浏览器
 * @param {string} browserid 环境id
 */
async function start(browserid) {
  var res = await axios.get(
    `http://127.0.1:50213/api/v2/browser/start?account_id=${browserid}`
  );

  const { code, data } = res.data;

  if (code === 0) {
    const service = new chrome.ServiceBuilder(data.webdriver)
    const options = new chrome.Options();

    service.addArguments('--disable-build-check')
    options.setChromeBinaryPath(data.webdriver)
    options.addArguments(`--remote-debugging-port=${data.debuggingPort}`); // 远程调试端口
    options.debuggerAddress(data.ws.selenium)

    const driver = new Builder()
      .forBrowser("chrome")
      .setChromeOptions(options)
      .setChromeService(service)
      .build();

    await driver.get("https://www.yunlogin.com/");

    driver.findElement(By.xpath("//nav/ul/li[5]")).click();

    driver.wait(
      until.titleIs("指纹浏览器下载-防关联浏览器多开-电商浏览器-Yunlogin"),
      10000
    );
  }
}

start("152829437d878d7a0e************");


python

# -*- coding:utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import requests


def driver_setting_yundeng(browserid):
    # time.sleep(2)

    headers = {
        'Content-Type': 'application/json'
    }
    url = f"http://localhost:50213/api/v2/browser/start?account_id={browserid}"
    response = requests.get(url, headers=headers)
    json_data = response.json()
    print('获取店铺信息', json_data)
    print('driver开始配置', int(time.time()))

    options = webdriver.ChromeOptions()
    options.add_argument('--no-sandbox')
    options.add_experimental_option("debuggerAddress", json_data['data']['ws']['selenium'])
    
    # 指定chromedriver的路径
    # chromedriver_path = json_data['data']['webdriver']
    # service = Service(executable_path=chromedriver_path)
    chromedriver_path = json_data['data']['webdriver']
    service = Service(service_args=['--disable-build-check'], executable_path=chromedriver_path)

    driver = webdriver.Chrome(options=options, service=service)
    return driver

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
了解Python爬虫后,您可能会对JavaScript逆向感兴趣。JavaScript逆向是指通过分析和理解JavaScript代码的执行过程,以及与服务器的交互方式,来模拟和反向工程JavaScript应用程序的过程。 以下是一些步骤和资源,帮助您入门JavaScript逆向: 1. 掌握基本的JavaScript知识:了解JavaScript语法、变量、函数、对象等基本概念是理解和逆向JavaScript应用程序的基础。 2. 使用开发者工具:现代浏览器提供了开发者工具,可以帮助您分析和调试JavaScript代码。通过使用开发者工具的控制台、网络面板和调试器,您可以查看和修改JavaScript代码的执行过程。 3. 学习网络请求和响应:理解JavaScript应用程序与服务器之间的通信方式非常重要。您可以学习HTTP协议、AJAX请求、XHR对象等相关知识,以便分析和模拟应用程序的网络请求。 4. 反混淆和解码JavaScript代码:有时,JavaScript代码经过混淆和压缩,使其难以阅读和理解。学习如何反混淆和解码JavaScript代码可以帮助您更好地分析和逆向应用程序。 5. 使用逆向工具和库:有一些专门用于JavaScript逆向的工具和库,如PuppeteerSelenium、PhantomJS等。这些工具可以模拟浏览器行为,帮助您自动化操作和逆向JavaScript应用程序。 请注意,JavaScript逆向需要一定的编程和网络知识,以及对JavaScript应用程序的理解。入门后,您可以通过实践项目和阅读更多相关资源来不断提升自己的技能。 希望这些信息对您有所帮助!如果您有更具体的问题,随时告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值