zoukankan      html  css  js  c++  java
  • pyppeteer使用

     

    import asyncio
    from pyppeteer import launch
    import random
    from bs4 import BeautifulSoup
     
    width, height = 1366, 768
    
    async def main():
        browser = await launch(headless=False, args=['--disable-infobars', f'--window-size={width},{height}'])
        page = await browser.newPage()
        await page.setViewport({'width': width, 'height': height})
    
    
    
        url='https://aj' 
        await page.goto(url)
        # 这里
        await page.evaluate(
            '''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''')
    
    
        await page.waitFor('#queryType');
        await page.click('#queryType');
        await page.waitFor(200);
        await page.select('#queryType','yszbhstr');
        # await page.waitFor('ul.selectUl > li:last-child');
        # await page.click('ul.selectUl > li:last-child');
    
        await page.type('#queryKey', '2021003029', {'delay': random.randint(1, 2)})
        await page.waitFor(300)
    
        # await page.click('.subRes');
        await page.click("#submit")
    
        await page.waitFor('#content>tr>td');
        # e = await page.Jeval('#content>tr', '(els) => els.map(el => el.outerHTML)')
        # print(e)
        e = await page.Jeval('#content>tr', 'e => e.outerHTML')
        print(e)
    
    
        # ele = (await page.xpath('//tbody["content"]/tr/td'))
        # print(ele)
    
        
        elements = await page.xpath('//tbody[@id="content"]/tr/td')
        for element in elements:
            print(await (await element.getProperty('textContent')).jsonValue()) 
    
        btnId= await page.xpath('//span[@class="yfyj"]')
        btnOnclick=await (await btnId[0].getProperty('outerHTML')).jsonValue()
        soup = BeautifulSoup(btnOnclick, 'html.parser')
        span = soup.select('span')[0]
        onclick = span.get('onclick')
        print(onclick)  #xx
    
    
    
        pram = await page.Jeval('#param', 'e => e.value')
        print(pram)
        token = await page.Jeval('#token', 'e => e.value')
        print(token)
  • 相关阅读:
    披萨
    扩展gcd
    LOJ6276 果树
    BZOJ 2038: [2009国家集训队]小Z的袜子(hose) | 莫队
    BZOJ 3052: [wc2013]糖果公园 | 树上莫队
    BZOJ 1878: [SDOI2009]HH的项链 | 莫队
    BZOJ 2453 维护队列 | 分块
    BZOJ 2821: 作诗(Poetize) | 分块
    BZOJ 2653 middle | 主席树
    BZOJ 1901: Zju2112 Dynamic Rankings | 带修改主席树
  • 原文地址:https://www.cnblogs.com/yansc/p/15111006.html
Copyright © 2011-2022 走看看