sem网络推广是什么网站开发 seo

张小明 2026/1/2 19:29:44
sem网络推广是什么,网站开发 seo,湛江网站建设价格,国内4g无法登录WordpressPlaywright是微软推出的新一代浏览器自动化库#xff0c;相比Selenium#xff0c;它原生支持异步操作、跨浏览器#xff08;Chrome/Firefox/Edge/Safari#xff09;、自动等待元素加载、内置反爬规避能力#xff0c;且无需额外下载浏览器驱动#xff0c;成为爬虫、自动化…Playwright是微软推出的新一代浏览器自动化库相比Selenium它原生支持异步操作、跨浏览器Chrome/Firefox/Edge/Safari、自动等待元素加载、内置反爬规避能力且无需额外下载浏览器驱动成为爬虫、自动化测试领域的主流选择。一、Playwright核心优势为何能替代Selenium对比SeleniumPlaywright的核心优势一目了然也是其快速普及的关键特性PlaywrightSelenium驱动依赖内置浏览器驱动无需手动下载需手动匹配浏览器版本下载驱动易出错等待机制自动等待元素加载无需手动设置显式/隐式等待需手动配置等待易因元素未加载完成报错浏览器支持原生支持Chrome、Firefox、Edge、Safari对Safari支持差需额外配置操作模式同步/异步双模式异步效率更高仅同步为主异步需额外封装反爬规避内置隐藏自动化特征不易被检测易被识别为自动化工具需手动配置反爬功能丰富度支持截图、录屏、网络拦截、移动端模拟基础功能完善高级功能需额外插件二、Playwright入门准备环境搭建1. 安装Playwright库# 安装Playwright核心库pipinstallplaywright# 安装浏览器驱动Chrome/Firefox/webkit/Safariplaywrightinstall说明playwright install会自动下载对应系统的浏览器二进制文件无需手动匹配版本解决了Selenium驱动版本不兼容的痛点。2. 验证环境# 同步模式验证fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:# 启动Chrome浏览器headlessFalse显示浏览器窗口browserp.chromium.launch(headlessFalse)# 打开新页面pagebrowser.new_page()# 访问百度首页page.goto(https://www.baidu.com)# 打印页面标题输出“百度一下你就知道”则环境正常print(page.title())# 关闭浏览器browser.close()三、Playwright核心操作页面与浏览器控制Playwright分为同步模式sync_api和异步模式async_api同步模式适合入门异步模式效率更高适合批量爬取。1. 基础浏览器操作同步模式fromplaywright.sync_apiimportsync_playwright# 上下文管理器自动管理浏览器生命周期withsync_playwright()asp:# 启动浏览器可选参数headlessFalse显示窗口slow_mo500放慢操作速度browserp.chromium.launch(headlessFalse,slow_mo500# 每个操作延迟500ms便于观察)# 创建浏览器上下文可设置代理、UA等contextbrowser.new_context(user_agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36)# 打开新页面pagecontext.new_page()# 核心页面操作page.goto(https://www.baidu.com)# 访问URLpage.reload()# 刷新页面page.go_back()# 后退page.go_forward()# 前进# 获取页面信息print(当前URL,page.url)print(页面标题,page.title())print(页面源码,page.content())# 获取渲染后的完整HTML# 关闭页面和浏览器page.close()browser.close()2. 异步模式推荐批量操作importasynciofromplaywright.async_apiimportasync_playwrightasyncdefmain():asyncwithasync_playwright()asp:# 启动浏览器browserawaitp.chromium.launch(headlessFalse)contextawaitbrowser.new_context()pageawaitcontext.new_page()awaitpage.goto(https://www.baidu.com)print(awaitpage.title())awaitbrowser.close()# 执行异步函数asyncio.run(main())3. 窗口与标签页管理fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browserp.chromium.launch(headlessFalse)contextbrowser.new_context()# 打开第一个标签页page1context.new_page()page1.goto(https://www.baidu.com)# 打开第二个标签页page2context.new_page()page2.goto(https://www.taobao.com)# 获取所有标签页pagescontext.pagesprint(标签页数量,len(pages))# 切换到第一个标签页page1.bring_to_front()# 关闭第二个标签页page2.close()browser.close()四、核心技能元素定位与用户操作Playwright支持多种元素定位方式且自动等待元素可操作默认等待30秒无需像Selenium一样手动设置显式等待。1. 元素定位方式优先级排序定位方式代码示例适用场景ID定位page.locator(#kw)元素有唯一IDClass定位page.locator(.s_ipt)元素Class属性唯一属性定位page.locator([namewd])按任意属性定位XPath定位page.locator(//input[idkw])复杂层级定位CSS选择器page.locator(div.s_form input)高效定位推荐文本定位page.locator(text百度一下)按元素文本精准匹配模糊文本page.locator(text/百度.*/)正则匹配文本2. 常用用户操作1输入与清空fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browserp.chromium.launch(headlessFalse)pagebrowser.new_page()page.goto(https://www.baidu.com)# 定位搜索框并输入内容search_boxpage.locator(#kw)search_box.fill(Playwright教程)# 输入文本search_box.clear()# 清空输入框search_box.fill(Python自动化)# 重新输入browser.close()2点击操作# 定位搜索按钮并点击search_btnpage.locator(#su)search_btn.click()# 模拟回车键替代点击search_box.press(Enter)# 双击操作page.locator(text设置).dblclick()# 右键点击page.locator(#kw).click(buttonright)3滚动页面# 滚动到页面底部page.evaluate(window.scrollTo(0, document.body.scrollHeight))# 滚动到指定元素位置自动等待元素可见targetpage.locator(#target_id)target.scroll_into_view_if_needed()# 模拟键盘滚动PageDownpage.keyboard.press(PageDown)4处理下拉框# 定位下拉框并选择选项selectpage.locator(#select_id)# 按文本选择select.select_option(label选项文本)# 按值选择select.select_option(valueoption_value)# 按索引选择select.select_option(index1)# 获取所有选项optionsselect.locator(option).all_text_contents()print(下拉框选项,options)5处理iframe框架# 定位iframe并切换自动等待iframe加载iframepage.frame_locator(#iframe_id)# 操作iframe内元素iframe.locator(#inner_btn).click()6处理弹窗# 监听alert弹窗并自动确认page.on(dialog,lambdadialog:dialog.accept())# 触发弹窗操作page.locator(text触发弹窗).click()# 获取弹窗文本defhandle_dialog(dialog):print(弹窗文本,dialog.text())dialog.accept()page.on(dialog,handle_dialog)五、进阶技巧反爬规避与效率优化1. 无界面模式后台运行fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:# 启动无界面模式默认headlessTrue新版为headlessnewbrowserp.chromium.launch(headlessnew)pagebrowser.new_page()page.goto(https://www.baidu.com)print(page.title())browser.close()2. 规避自动化检测核心优势Playwright默认隐藏了大部分自动化特征无需复杂配置即可规避常规检测fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:# 创建上下文时配置反爬参数contextp.chromium.launch_persistent_context(./browser_data,# 持久化浏览器数据缓存、CookieheadlessFalse,args[--disable-blink-featuresAutomationControlled,--no-sandbox,# 禁用沙箱模式--start-maximized# 窗口最大化],# 禁用自动化提示ignore_default_args[--enable-automation],)pagecontext.new_page()page.goto(https://example.com)# 验证是否被检测访问自动化检测页面page.goto(https://bot.sannysoft.com/)input(按回车关闭浏览器...)context.close()3. 网络拦截与请求控制Playwright可拦截、修改、阻断网络请求适合爬取动态数据时过滤无关请求fromplaywright.sync_apiimportsync_playwrightdefhandle_request(request):# 阻断图片、视频请求提升加载速度ifrequest.resource_typein[image,video]:request.abort()else:request.continue_()withsync_playwright()asp:browserp.chromium.launch(headlessFalse)pagebrowser.new_page()# 注册请求拦截器page.route(**/*,handle_request)page.goto(https://www.taobao.com)browser.close()4. 截图与录屏fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browserp.chromium.launch(headlessFalse)pagebrowser.new_page()page.goto(https://www.baidu.com)# 页面全屏截图page.screenshot(pathbaidu_page.png,full_pageTrue)# 元素截图page.locator(#kw).screenshot(pathsearch_box.png)# 录屏需安装ffmpegplaywright install ffmpegcontextbrowser.new_context(record_video_dir./videos/)page2context.new_page()page2.goto(https://www.taobao.com)page2.click(text首页)context.close()# 关闭上下文时自动保存视频browser.close()六、实战案例爬取JS动态加载的商品数据以某电商平台商品列表为例JS动态加载爬取商品名称、价格、销量对比Selenium更简洁高效fromplaywright.sync_apiimportsync_playwrightimporttimedefcrawl_goods():withsync_playwright()asp:# 启动浏览器browserp.chromium.launch(headlessFalse,slow_mo200)pagebrowser.new_page()# 访问商品列表页page.goto(https://xxx.com/goods-list)# 滚动加载更多商品模拟翻页for_inrange(3):# 滚动到页面底部page.evaluate(window.scrollTo(0, document.body.scrollHeight))# Playwright自动等待无需手动sleep此处为模拟用户操作间隔time.sleep(1)# 定位所有商品元素并提取信息goods_listpage.locator(.goods-item).all()forgoodsingoods_list:# 提取商品名称自动等待元素可见namegoods.locator(.goods-name).inner_text()# 提取价格pricegoods.locator(.goods-price).inner_text()# 提取销量salesgoods.locator(.goods-sales).inner_text()print(f商品名称{name}价格{price}销量{sales})browser.close()if__name____main__:crawl_goods()七、Playwright vs Selenium迁移指南若已有Selenium代码可按以下规则快速迁移到PlaywrightSelenium操作Playwright对应操作driver.get(url)page.goto(url)driver.find_element(By.ID, kw)page.locator(#kw)element.send_keys(text)locator.fill(text)element.click()locator.click()driver.page_sourcepage.content()WebDriverWait(driver, 10).until(EC.visibility_of_element_located)locator.wait_for()Playwright自动等待无需手动调用driver.switch_to.frame(iframe)page.frame_locator(iframe_locator)八、常见问题与避坑指南元素定位失败Playwright的locator默认等待元素可操作若仍失败检查是否在iframe内用frame_locator避免使用绝对XPath优先用CSS选择器或文本定位。浏览器启动失败无权限时添加args[--no-sandbox]Windows系统需确保Playwright下载的浏览器路径无中文。反爬检测启用持久化上下文launch_persistent_context模拟真实用户浏览器数据避免短时间高频操作添加随机间隔。异步模式报错确保异步函数嵌套正确避免同步/异步混用Windows系统需安装asyncio最新版pip install --upgrade asyncio。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站不用模板如何更新文章内网网站搭建设

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/2 19:29:44 网站建设

网站建设方案书文库html语言

BlenderGIS作为连接Blender 3D建模与地理信息系统的强大桥梁,让地理数据可视化变得前所未有的简单高效。无论你是3D建模爱好者还是GIS专业人士,都能通过这个免费开源工具实现专业级的地理数据可视化效果。 【免费下载链接】BlenderGIS Blender addons to…

张小明 2026/1/2 19:28:40 网站建设

西安网站开发公司南京百度搜索排名优化

FaceFusion支持Alpha通道透明背景输出在如今的数字内容创作领域,AI换脸早已不再是新鲜事。从社交媒体上的趣味滤镜到影视工业中的角色替换,人脸融合技术正以前所未有的速度渗透进我们的视觉体验中。然而,大多数工具仍停留在“把一张脸贴到另一…

张小明 2026/1/2 19:28:08 网站建设

怎样在微信里做网站网站设置子目录

还在为机票价格波动而焦虑吗?每次打开订票APP,看到忽高忽低的价格就像在体验价格变化带来的不确定性。FlightSpy智能机票监控系统正是为解决这一痛点而生,它能24小时自动追踪目标航线价格,一旦低于预设阈值就立即发送降价提醒。这…

张小明 2026/1/2 19:27:37 网站建设

湖州建设局新网站企业网站页脚信息

D3KeyHelper作为一款专为暗黑破坏神3设计的图形化宏工具,凭借其高度自定义的战斗系统和智能助手功能,为玩家提供了全新的游戏体验优化方案。这款基于AutoHotkey开发的辅助工具,能够有效解决复杂Build操作中的技能衔接难题。 【免费下载链接】…

张小明 2026/1/2 19:27:05 网站建设

长春火车站到龙嘉机场高铁时刻表学校网站建设意义有哪些

PPTist是一款基于Vue 3.x和TypeScript技术栈开发的在线演示文稿制作工具,完美复刻了Office PowerPoint的核心编辑功能。无论你是技术开发者还是普通用户,这份完整教程都能帮助你在最短时间内搭建起属于自己的在线PPT编辑平台。 【免费下载链接】PPTist 基…

张小明 2026/1/2 19:26:33 网站建设