如何带上cookie?在Chrome上安装一个editThisCookie插件,它导出的格式,只要粘贴赋值给一个变量(比如cookies),把true、false改成python的True、False;sameSite那项后面改成"Lax"。
交互式使用:
如果对爬虫网站进行抓取元素的调试,肯定不是反复打开,反复关闭,最好就是用交互式的方法打开,把页面停在那边,然后可以尽情的调试各种方法。
from playwright.sync_api import sync_playwright playwright = sync_playwright().start() #无头模式设置为false,正式运行的时候去掉 browser = playwright.chromium.launch(headless=False) context = browser.new_context() cookies=[....] context.add_cookies(cookies) page = context.new_page() page.goto("https://......",timeout = 0) ...... browser.close()#调试结束
页面抓取
抓取多元素
#定位到 class=".class1 .class2" 的元素 page.query_selector("css=.class1,.class2") #用xpath的写法定位到class=".class1 .class2" 的div下面的p标签 page.query_selector("//div[contains(@class, 'class1') and contains(@class, 'class2')]/p") #用xpath的写法定位到class=".class1 .class2" 的div下面的所有p标签 page.query_selector_all("//div[contains(@class, 'class1') and contains(@class, 'class2')]/p")
元素内容
element.inner_text()#文本内容 element.inner_html()#html内容