相关文章推荐
坚强的拖把  ·  Text文本框 · ...·  5 月前    · 

1.以命令窗口启动chrome浏览器,选择远程连接的端口为9222

chrome.exe --disable-infobars --remote-debugging-port=9222 --user-data-dir="设置路径"

--disable-infobars 表示关闭提示

2. 启动之后chromium通过 http://localhost:9222/json 得到调试信息,chrome通过 http://127.0.0.1:9222/json/version  得到调试信息,

其中webSocketDebuggerUrl为pyppeteer连接的ws地址。

页面显示为

"Browser": "Chrome/78.0.3904.70", "Protocol-Version": "1.3", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36", "V8-Version": "7.8.279.17", "WebKit-Version": "537.36 (@edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5)", "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/8fc97fd6-a7dd-4ff2-b760-3f6b25b7419b"
import asyncio
import random
from pyppeteer.launcher import connect
useragents=['Mozilla/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36','Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36']
async def main(url):
    connect_params={
        'browserWSEndpoint': 'ws://127.0.0.1:9222/devtools/browser/8fc97fd6-a7dd-4ff2-b760-3f6b25b7419b',
'logLevel':3,
    browser = await connect(connect_params)
    page = await browser.newPage()   # 启动个新的浏览器页面
    await page.setUserAgent(random.choice(useragents))
    #设置页面超时时间
    page.setDefaultNavigationTimeout(1000*60) #60s
    #启用js
    await page.setJavaScriptEnabled(True)
    await page.setViewport({'width':1300,'height':750}) #设置界面
        await page.goto(url)    # 访问登录页面
    except Exception as e1:
        print('e1:',e1)
        await page.close()
        await browser.close()
        return
if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    url = 'https://www.baidu.com'
    m = main(url)
    loop.run_until_complete(m)
from anti_useragent import UserAgent
ua=UserAgent(platform='windows',min_version=80)
import asyncio
from pyppeteer.launcher import connect
import json
async def main():
    port=9222
    options = {'browserURL': f'http://127.0.0.1:{port}/json/version'}
    browser = await connect(options=options)
    page = await browser.newPage()  # 启动个新的浏览器页面
    page.setDefaultNavigationTimeout(1000 * 60)  # 60s
    await page.setUserAgent(ua.chrome)
    await page.goto('https://www.baidu.com')
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
1.以命令窗口启动chrome浏览器,选择远程连接的端口为9222chrome.exe --disable-infobars --remote-debugging-port=9222 --user-data-dir="设置路径"--disable-infobars 表示关闭提示2. 启动之后chromium通过http://localhost:9222/json得到调试信息,chrome通过http://127.0.0.1:9222/json/version 得到调试信息,其中webS.. Pyppeteer 已移至 JavaScript(无头) chrome / chromium浏览器自动化库的非官方 Python 端口。 免费软件:MIT许可证(包括根据Apache 2.0许可证分发的工作) 文档: : Pyppeteer 需要 python 3.6及更高版本。 (实验上支持 python 3.5) 通过PyPI的pip安装: python 3 -m pip install pyppeteer 或从安装最新版本: python 3 -m pip install -U git+https://github.com/miyakogi/ pyppeteer .git@dev 注意:第一次运行 pyppeteer 时,它将下载最新版本的Chromium(〜100MB)。 如果您不喜欢这种行为, pyppeteer -install在运行使用 pyppeteer 的脚本之前运 如果你的机器不是外面的机器,你可能会等long long long time。而且还装不上。 这里提供两种解决方案:1:改配置文件(后面提供了可运行的百度云下载地址)。2:添加参数。 pyppeteer demo演示地址:https://github.com/...
使用 pyppeteer 或者selenium时, chrome 窗口最大化step1 定义一个获取当前屏幕尺寸的函数step2 使用该函数 废话不多说直接上代码 step1 定义一个获取当前屏幕尺寸的函数 def screen_size(): # 使用tkinter获取屏幕大小 import tkinter tk = tkinter.Tk() width = tk.win...
import os DEFAULT_DOWNLOAD_HOST = 'https://npm.taobao.org/mirrors' os.environ[" PYPPETEER _DOWNLOAD_HOST"] = DEFAULT_DOWNLOAD_HOST from pyppeteer import launch 这里一定要注意引入顺序,设置
分析的是一个航空网站,其实是我再找 python 执行js代码的资料的时候,发现了一个博主分析了这个网站的加密过程,然后我去跟着操作的时候,发现网站的加密部分代码发生了变化,不过在我不小心把网页关了之后,我实在找不到那篇文章了。。。。。所以我再说一下整个的分析过程,不然我就可以只说一下后面不同的部分了 需要安装 pyppeteer 、asyncio pyppeteer 中文教程:https://zhaoqi...
在前面我们学习了 Selenium 的基本用法,它功能的确非常强大,但很多时候我们会发现 Selenium 有一些不太方便的地方,比如环境的配置,得安装好相关浏览器,比如 Chrome 、Firefox 等等,然后还要到官方网站去下载对应的 驱动 ,最重要的还需要安装对应的 Python Selenium 库,而且版本也得好好看看是否对应,确实不是很方便,另外如果要做大规模部署的话,环境配置的一些问题也是个头疼的事情。 那么本课时我们就介绍另一个类似的替代品,叫作 Pyppeteer 。注意,是叫作 Pyppete
最近在使用 pyppeteer 抓淘宝,同事使用JavaScript写调用puppeteer能完美运行。但我改成 python 就一直报这样一个错误: pyppeteer .errors.NetworkError: Protocol Error (Page.navigate): Session closed. Most likely the page has been closed 而代码中造成这样一个错误...
现在有新方法可以搞定这个模拟登陆了,不会被检测出来,可以完美的绕过对window.navigator.webdriver的检测, pyppeteer 是个好东西! 需要用到的 python 包:asyncio、 pyppeteer 友情提醒一下,第一次运行 pyppeteer 的会下载chromium,速度很慢慢慢慢,还有可能失败。务必耐心等待!!!然后,这个 pyppeteer 对网速和电脑运行速度还有一定的要求...
最近登录某宝和某乎,发现之前写的代码又熄火了,官方给的反扒机制越来越牛叉了,发现之前使用的selenium无法完成登陆的滑动验证,一点作用都没有,菜鸟一枚,查了相关的资料,就开始使用 pyppeteer 来弄某数据平台的内容。使用 pyppeteer 滑动验证参考网上很多文章,以下代码也来源于网络,只对部分细节进行了修改,并且记录了 pyppeteer 使用过程中遇到的一些问题。 #!/u...
在执行 chrome .exe --remote- debugging -port=9222 再到浏览器中输入127.0.0.1:9222/json 注意:如果打不开无法访问,一定要讲打开的浏览器(关闭),确保没有这个任务 async def fetchUrl(url): browser = await launch({'headless': False,'dumpio':True, 'autoClose':True}) page = await browser.. CSDN-Ada助手: 非常感谢博主的辛勤创作,《python selenium 通过端口关闭进程》这篇博客写得非常好,内容实用、易懂、思路清晰。非常感谢博主无私分享,让我们受益匪浅。希望博主能够继续创作更多的博客,分享更多的知识和经验,让更多人受益。再次感谢博主! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。 pyppeteer dialog点击弹窗 FOAF-lambda: 访问页面时的弹窗吗? pyppeteer dialog点击弹窗 微saferland: alert好像不能自动点击 python3 import cv2 报 ModuleNotFoundError: No module named 'numpy.core._multiarray_umath' qq_47146581: 太牛了太牛了,解决了我一个小时都没解决的问题!! 表情包 scrapy-redis 完全重写start_requests函数 water___Wang: