Внедрить внешний скрипт, используя кукловода или любой другой инструмент автоматизации - PullRequest
0 голосов
/ 06 марта 2020

Я работаю над проектом по созданию файла с селекторами css для последующего использования в сценариях автоматизации с использованием кукловода. Для извлечения уникального селектора css я решил использовать библиотеку "css -selector-generator ". Поскольку это пакет узлов, я использовал browserify , чтобы связать пакет для внедрения во время выполнения. Я не понимаю, что я делаю неправильно, но в этом случае ничего не работает. Я хотел получить селекторы css для элемента, когда пользователь щелкает по нему.

Я использую приведенный ниже код для извлечения и отображения селектора css, однако ошибка, которую я получаю в консоли браузера, составляет

**"Uncaught ReferenceError: getCssSelector is not defined
    at HTMLBodyElement.<anonymous> (VM28 __puppeteer_evaluation_script__:6)"**

Я использую следующий код:

    let puppeteer = require('puppeteer');

let nav = async function(){
    let browser = await puppeteer.launch({
        headless:false
    })
    let handle;
    let page = await browser.newPage();
    await page.goto('https://google.com');
    await page.addScriptTag({path:'./bundle.js'})
    await page.evaluate(async ()=>{
        await document.body.addEventListener('click', function (event) {
            // get reference to the element user clicked on
            const element = event.target;
            // get unique CSS selector for that element
            const selector = getCssSelector(element);
            // do whatever you need to do with that selector
            console.log('selector', selector);
          });
    })
}

nav();

Любая помощь здесь будет принята с благодарностью. Также предложите, если возможно извлечь эти селекторы из контекста браузера в контекст узла. Если да, то как это сделать.

Заранее большое спасибо.

...