pyppeteer github 地址:https://github.com/miyakogi/pyppeteer
pyppeteer 英文文档地址:https://miyakogi.github.io/pyppeteer/
pyppeteer 官方文档 API Reference :https://miyakogi.github.io/pyppeteer/reference.html
puppeteer( Nodejs 版 selenium )快速入门:https://blog.csdn.net/freeking101/article/details/91542887
简介在这里我就不讲了,大家可以自行在网上搜索。这里主要总结一些常规操作
1.创建空页面,并对新的页面进行调度
#这里launch 里面的参数是一定要填写的,可避免一些反爬
browser = await launch(headless=False, args=['--disable-infobars'], dumpio=True)
page = await browser.newPage()
await page.goto(url)
2.通过选择器进行操作
#文本框输入
def input_time_random():
return random.randint(150, 351)
#ume --- 具体的值
await page.type(选择器信息,具体的值,休眠时间)
await page.type(‘#TPL_username_1’, ume, {'delay': input_time_random()})
#点击
await page.click('#J_SubmitStatic')
3.通过xpath 定位/操作
#通过xpath 实现点击操作
click_handle = await page.xpath("//button[@class='fm-button fm-submit password-login']")
await click_handle[0].click()
#获取text 文本信息
await item.getProperty("textContent")).jsonValue()
4.找到所以iframe 并指定切换
frame_list=page.frames
#通过判断查找所需
title = await frame[1].title()
5.等待上一步页面加载完,在进行下一步操作
await asyncio.wait([
determine_button[0].click(),
page2.waitForNavigation(),
])
6.关闭整个页面
async def page_close(browser):
for _page in await browser.pages():
await _page.close()
await browser.close()
7.查看获取到的所有页面
#这里可以拿到所有的页面,通过索引去筛查
page_list = await browser.pages()
await page_list[-1].content()