Проблемы с терапией? - PullRequest
       9

Проблемы с терапией?

0 голосов
/ 31 марта 2020

У меня есть код 1 для обхода капчи «Слайд для проверки»

await page.evaluateOnNewDocument(() => {
        Object.defineProperty(navigator,'webdriver',{
                get:() => false
            })
        })
         let sliderElement = await page.$(".slidetounlock")
        let slider = await sliderElement.boundingBox()
        let sliderHandle = await page.$(".nc_iconfont.btn_slide")
        let handle = await sliderHandle.boundingBox()

        await page.mouse.move(handle.x + handle.width / 2, handle.y + handle.height / 2)
        await page.mouse.down()
        await page.mouse.move(handle.x + slider.width / 2, handle.y + handle.height / 2,{steps:1})
        await page.mouse.up()

и этот код 2

(async () => {
const browser = await puppeteer.launch({ headless: false })
const page = await browser.newPage()
const urls = getLink(file);
console.log(urls);
let arrInfo = [];
for (let i = 0; i < urls.length; i++) {
    try {
        await page.goto("https://www.lazada.vn/catalog/?q="+urls[i]+"&_keyori=ss&from=input&spm=a2o4n.searchlist.search.go."+urls[i], {timeout: 50000000});
        const info = await page.evaluate(() => {
            let checkcaptcha = document.querySelector("#nc_1_wrapper")
            let checkweb = document.querySelector(".c1_t2i")
            if (checkweb !== null || checkcaptcha !== null) {
                const checkname = document.querySelector("div.c16H9d")
                const checkprice = document.querySelector("span.c13VH6")
                const price = document.querySelector(checkprice !== null ? "span.c13VH6" : ".khongcoclass")
                const name = document.querySelector(checkname !== null ? "div.c16H9d" : ".khongcoclass")

                let data = {
                    Name: name ? name.innerText : "Not found",
                    Price: price ? price.innerText : "Not found"
                }

                return {
                    ...data
                }

            }

            return {
                Name: "Wrong IF",
                Price: "Wrong IF"
            };

        })
        if (info) {
            arrInfo.push(info)
        }
    } catch (err) {
        console.log("Có lỗi xảy ra", err);

    }
}
console.log(arrInfo);
exportToExcel(arrInfo);
await browser.close();})();

Как я могу поместить код 1 в l oop кода 2 ?? или кто-нибудь есть какие-либо рекомендованные ?? мой обход кода 1 работает, но он перенаправляет на другую страницу, которую я не могу получить подробно я хочу ... так что кто-нибудь ?? p / s спасибо, что прочитали

...