上手体验
import asyncio
from pyppeteer import launch
from pyquery import PyQuery as pq
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://dynamic5.scrape.cuiqingcai.com/')
await page.waitForSelector('.item .name')
doc = pq(await page.content())
names = [item.text() for item in doc('.item .name').items()]
print('Names:', names)
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
Names: ['R数据科学实战:工具详解与案例分析', 'Greenplum:从大数据战略到实现', '数据密集型应用系统设计'
, '', 'Streaming Systems', '温暖和百感交集的旅程', '解忧杂货店', '白夜行', '活着', '在细雨中呼喊',
'霍乱时期的爱情', '活着', '你当像鸟飞往你的山', '百年孤独', '呼吸', '红楼梦', '82年生的金智英',
'平凡的世界(全三部)']
调用截图
import asyncio
from pyppeteer import launch
from pyquery import PyQuery as pq
async def main():
browser = await launch()
page = await browser.newPage()
await page.setViewport({'width':1366,'height':768})
await page.goto('https://dynamic5.scrape.cuiqingcai.com/')
await page.waitForSelector('.item .name')
await asyncio.sleep(2)
await page.screenshot(path='example.png')
#调用了evaluate方法 执行一些JavaScript ,传入的是一个函数。
#使用return 方法后返回了网页的宽高、像素大小比率三个值
dimensions=await page.evaluate('''()=>{
return{
width:document.documentElement.clientWidth,
height:document.documentElement.clientHeight,
deviceScaleFactor:window.devicePixelRatio,
}
}''')
print(dimensions)
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
不显示浏览器
设置浏览器为无痕模式 和 取消自动化提示
隐藏webdriver
保存登录信息
Page cookie
打开开发者工具
Page 选择器
输入文本
点击操作
切换选项卡
很多方法![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f003f2db7b9b89711811b30574b0f96c.jpeg)