js + selenium-webdriver调试

安装

npm init

npm install selenium-webdriver

main.js

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

var driver = new Builder().forBrowser("chrome").build();

// 调用 WebDriver 对象的get方法 让浏览器打开指定网址
driver.get("https://www.yunlogin.com/");

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

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

driver.quit();

运行

node main.js

远程调试

debuggerAddress 模式

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************");

运行

node main.js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值