草庐IT

rspec-puppet

全部标签

node.js - 如何处理 puppeteer 中的弹出窗口

如何处理弹出窗口并访问弹出窗口以对其进行一些操作。constpuppeteer=require('puppeteer');asyncfunctionrun(){constbrowser=awaitpuppeteer.launch();constpage=awaitbrowser.newPage();awaitpage.goto('https://example.com');awaitpage.click(Launchpopup);} 最佳答案 所以我要做的就是在他们的主页上登录facebook,然后导航到我想去的页面,我点击了使用f

javascript - 是否可以在创建屏幕截图之前使用 Puppeteer 修改 DOM 中的元素?

我遇到了一个问题,我创建了一个相当简单的Node进程来捕获屏幕截图。是否可以在获取屏幕截图之前使用Puppeteer更改HTML元素的innerText?我已经成功使用Puppeteer在身份验证字段中键入文本并登录到站点,但我想知道是否有类似的方法可以让我更改特定元素中的文本(使用id或类名)。我正在使用的屏幕截图代码示例:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch()constpage=awaitbrowser.newPage()awaitpage.goto('h

javascript - 如何使用 Puppeteer 从输入中删除现有文本?

我正在尝试在包含当前记录标题的可编辑输入中测试修改文本-我希望能够测试编辑此类文本,并将其替换为其他内容。我知道我可以使用awaitpage.type('#inputID','blah');将“blah”插入文本框(在我的情况下,现有文本仅追加“等等”),但是,我找不到任何页面方法1允许删除或替换现有文本。 最佳答案 你可以使用page.evaluate来操作你认为合适的DOM:awaitpage.evaluate(()=>document.getElementById("inputID").value="")但有时仅操作给定字段可

javascript - Puppeteer - 向下滚动,直到你不能再

我处于向下滚动时创建新内容的情况。新内容具有特定的类名。如何继续向下滚动直到所有元素都加载完毕?换句话说,我想达到一个阶段,如果我继续向下滚动,不会加载任何新内容。我是用代码向下滚动,加上一个awaitpage.waitForSelector('.class_name');这种方法的问题是,在所有元素加载后,代码一直向下滚动,没有创建新元素,最终我得到一个超时错误。这是代码:awaitpage.evaluate(()=>{window.scrollBy(0,window.innerHeight);});awaitpage.waitForSelector('.class_name');

javascript - 将 jQuery 注入(inject) Puppeteer 页面

我正在尝试将jQuery注入(inject)我的Puppeteer页面,因为document.querySelector不适合我:asyncfunctioninject_jquery(page){awaitpage.evaluate(()=>{varjq=document.createElement("script")jq.src="https://code.jquery.com/jquery-3.2.1.min.js"document.querySelector("head").appendChild(jq)})constwatchDog=page.waitForFunction('

node.js - 如何使用 headless : true? 使用 puppeteer 下载文件

我一直在运行以下代码,以便从网站http://niftyindices.com/resources/holiday-calendar下载csv文件:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch({headless:true});constpage=awaitbrowser.newPage();awaitpage.goto('http://niftyindices.com/resources/holiday-calendar');awaitpage._client.sen

node.js - Puppeteer:如何处理多个标签?

场景:用于开发者应用注册的Web表单,包含两部分工作流程。第1页:填写开发者应用详细信息并单击按钮以创建应用程序ID,该应用程序ID在新选项卡中打开...第2页:AppID页面。我需要从这个页面复制AppID,然后关闭选项卡并返回第1页并填写AppID(从第2页保存),然后提交表单。我了解基本用法-如何打开页面1并单击打开页面2的按钮-但是当页面2在新标签页中打开时,如何获得页面2的句柄?例子:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch({headless:false

javascript - puppeteer:如何等到元素可见?

我想知道是否可以告诉puppeteer等到元素显示出来。constinputValidate=awaitpage.$('input[value=validate]');awaitinputValidate.click()//IwanttodosomethinglikethatwaitElemenentVisble('.btnNext')constbtnNext=awaitpage.$('.btnNext');awaitbtnNext.click();有什么办法可以做到吗? 最佳答案 我认为您可以为此目的使用page.waitForS

javascript - Puppeteer 等待所有图像加载然后截图

我正在使用Puppeteer尝试在所有图像加载后截取网站的屏幕截图,但无法正常工作。这是我目前得到的代码,我正在使用https://www.digg.com作为示例网站:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch();constpage=awaitbrowser.newPage();awaitpage.goto('https://www.digg.com/');awaitpage.setViewport({width:1640,height:800});awaitpa

node.js - docker 容器中的 puppeteer 操纵者 : Chromium revision is not downloaded

我正在尝试使用docker-compose在docker容器中运行的快速应用程序中启动puppeteer。应该启动puppeteer的行constbrowser=awaitpuppeteer.launch({args:['--no-sandbox']});抛出以下错误:(node:28)UnhandledPromiseRejectionWarning:Unhandledpromiserejection(rejectionid:2):AssertionError[ERR_ASSERTION]:Chromiumrevisionisnotdownloaded.Run"npminstall"我