如何利用 Playwright 对已打开的浏览器进行爬虫

这篇具有很好参考价值的文章主要介绍了如何利用 Playwright 对已打开的浏览器进行爬虫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前写过一篇关于如何利用 Selenium 操作已经打开的浏览器进行爬虫的文章

如何利用 Selenium 对已打开的浏览器进行爬虫!

最近发现很多人都开始摒弃 Selenium,全面拥抱 Playwright 了,那如何利用 Playwright 进行爬虫,以应对一些反爬严格的网站呢?

对 Playwright 不了解的小伙伴,可以看很早之前写过的一篇文章

具体操作步骤如下:

PS:这里以 Chrome 为例,其他浏览器类似

1-1  查看本地 Chrome 浏览器的的安装地址

比如:C:\Program Files\Google\Chrome\Application\chrome.exe

1-2  命令行启动浏览器

打开 CMD 终端,输入下面命令行打开 Chrome 浏览器

# 使用无痕模式,打开目标网站,最大化展示
cd C:\Program Files\Google\Chrome\Application\ && chrome.exe --remote-debugging-port=6666 --user-data-dir="C:\work\chrome"  --start-maximized  --incognito --new-window https://www.taobao.com

其中

  • --remote-debugging-port 端口号

指定浏览器调试端口号

PS:这里可以随机指定一个端口号,不要指定为已经被占用的端口号

  • --user-data-dir 用户数据保存目录

指定浏览器的用户数据保存目录

注意:需要设置到一个全新的目录,不要影响 Chrome 浏览器系统用户的数据

  • --incognito 用户数据保存目录

    无痕模式打开,默认非无痕模式

  • --start-maximized

    窗口最大化显示

  • --new-window  目标地址

    直接打开目标网站

1-3 编写代码操作浏览器

使用命令行打开 Chrome 浏览器后,就可以使用 Playwright 编写代码,继续对浏览器进行操作

注意:必须保证上面的操作只打开一个浏览器窗口,方便我们进行操作

2  实战一下

目标:使用 Playwright 操作上面命令行打开的浏览器页面,根据关键字进行搜索,获取商品标题及地址

需要注意的是,通过 connect_over_cdp 指定的端口号要和浏览器调试端口号保持一致

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp('http://localhost:6666/')

    # 获取页面对象
    # 上下文索引:第一个
    # page索引:第一个
    page = browser.contexts[0].pages[0]

    # 输入
    page.locator("#q").fill("Python")

    # 点击搜索
    page.locator(".btn-search").click()

    # 等待元素出现
    # 注意:由于page.locator能获取多条数据,这里使用first获取1条数据,避免wait_for()方法报错
    page.locator("div[class^=Card--doubleCard]").first.wait_for(state='visible')

    # 获取商品盒子下所有div元素列表
    elements = page.locator("div[class^=Content--contentInner]>div").all()

    # 遍历,获取标题及地址
    for element in elements:
        # 标题
        title_element = element.locator("div[class^=Title--title--] > span").first

        # 地址
        href_element = element.locator("a[class^=Card--doubleCardWrapper--]")
        href = "https:" + href_element.get_attribute("href")
        print("标题:", title_element.text_content(), ",URL:", href)

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

如何利用 Playwright 对已打开的浏览器进行爬虫,程序人生,自动化测试,程序员,程序人生,自动化测试,软件测试,单元测试,程序员

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

如何利用 Playwright 对已打开的浏览器进行爬虫,程序人生,自动化测试,程序员,程序人生,自动化测试,软件测试,单元测试,程序员

如何利用 Playwright 对已打开的浏览器进行爬虫,程序人生,自动化测试,程序员,程序人生,自动化测试,软件测试,单元测试,程序员

如何利用 Playwright 对已打开的浏览器进行爬虫,程序人生,自动化测试,程序员,程序人生,自动化测试,软件测试,单元测试,程序员文章来源地址https://www.toymoban.com/news/detail-804672.html

到了这里,关于如何利用 Playwright 对已打开的浏览器进行爬虫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在VSCode中将html文件打开到浏览器

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 近期在学习前端内容,遇到了这个问题,来总结记录并分享一下。 html文件一般可右击

    2024年02月08日
    浏览(70)
  • selenium如何打开浏览器,等待用户输入完成后,再运行

    在使用 Selenium 打开浏览器后等待用户输入完成,可以使用 Python 编写一个简单的脚本来实现。首先,确保你已经安装了 Selenium 和对应的浏览器驱动程序。 以下是一个使用 Selenium 在 Chrome 浏览器中等待用户输入完成后再执行的示例脚本: 在这个示例中,脚本会打开一个指定的

    2024年02月14日
    浏览(39)
  • Python + Playwright 无头浏览器Chrome找不到元素

    用Python + Playwright调试时,发现不用无头浏览器(即 headless=False )代码能够运行成功,但是一用无头浏览器时(即 headless=True )就会报错,提示找不到元素。换成Firefox浏览器又不会有这个问题,有可能是因为网站有一个前段反爬虫手段。(同理,如果大家使用 playwright codege

    2024年02月16日
    浏览(50)
  • 如何在Firefox火狐浏览器点击链接打开新标签页、搜索、和书签

    打开Firefox火狐浏览器设置 在Firefox的地址栏输入 about:config 按回车键后,打开了一个警告页面,单击“接受风险并继续”即可,如下图所 在新标签页打开网页上的链接(点击链接打开新标签页) 在窗口中输入 browser.urlbar.openintab 双击显示的值更改为 true 在新标签中打开搜索结

    2024年02月05日
    浏览(81)
  • 如何强制卸载Google浏览器,不用担心Google打开为白板,亲测有效。

    步骤一: 打开windows窗口   步骤二: 点击设置   步骤三: 点击应用   步骤四: 在搜索框里查找Google或者谷歌   步骤五: 出现现在的应用点击Uninstall或者卸载谷歌会弹出信息卸载就可以了 步骤六: 这步骤参考下边的方法,与第一种方法无关,是我所推荐的之前在外网请教

    2024年02月05日
    浏览(70)
  • 如何让Chrome浏览器允许http网站打开摄像头和麦克风

    问题来源: 本地运行的项目调用摄像头好用 访问线上地址,发现调用摄像头的方法都不存在。 问了度娘,发现该问题与浏览器的安全策略有关。出于安全考虑,浏览器是不允许随便开启摄像头的,https协议下方可开启。 这一项功能要用到谷歌浏览器的实验性功能,谷歌浏览

    2024年02月17日
    浏览(70)
  • 跨境电商如何利用隐擎fox指纹浏览器实现更安全的操作?

    随着全球化的推进,跨境电商已成为现代商业中的重要一环。然而,随之而来的问题是如何确保在跨境电商中进行安全可靠的操作。在这一领域,隐擎fox指纹浏览器(又称防关联浏览器、多开浏览器)正逐渐成为一项关键技术,为跨境电商提供了更高水平的安全性和隐私保护

    2024年02月13日
    浏览(53)
  • python+playwright 学习-32 启动Google Chrome 或 Microsoft Edge浏览器

    playwright 默认会下载 chromium,firefox 和 webkit 三个浏览器,目前支持通过命令下载的浏览器有:chromium、chrome、chrome-beta、msedge、msedge-beta、msedge-dev、firefox、webkit 使用 playwright install 命令默认会安装chromium,firefox 和 webkit 三个浏览器。 可以通过 playwright -h 命令查看目前支持的浏览

    2024年02月04日
    浏览(76)
  • HDFS集群部署成功但网页无法打开如何解决(显示配置通过浏览器访问hdfs的端口)

    在学习黑马2023大数据教程过程中,首先依照视频完成了如下配置:【必须】 【黑马2023大数据实战教程】大数据集群环境准备过程记录(3台虚拟机) 黑马2023大数据实战教程】VMWare虚拟机部署HDFS集群详细过程 最后node1的hadoop用户下输入 start-dfs.sh 一键启动hdfs集群成功,三台虚

    2024年02月09日
    浏览(62)
  • 如何通过selenium只登录一次后续不需要经常打开浏览器就可以在web页面上继续操作?

    如果要在登录后继续在Web页面上进行操作,可以使用Selenium的Cookie功能。 在登录后,可以使用Selenium获取当前浏览器的Cookie,并将其保存到本地。 之后,您可以在不打开浏览器的情况下,使用Selenium直接访问该Cookie并将其添加到Selenium WebDriver中。 这样,就可以在不打开浏览器

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包