草庐IT

puppet-restart

全部标签

javascript - 如何在 Puppeteers .evaluate() 方法中传递函数

每当我尝试传递一个函数时,像这样:varmyFunc=function(){console.log("lol");};awaitpage.evaluate(func=>{func();returntrue;},myFunc);我得到:(node:13108)UnhandledPromiseRejectionWarning:Unhandledpromiserejection(rejectionid:1):Error:Evaluationfailed:TypeError:funcisnotafunctionatfunc(:9:9)(node:13108)DeprecationWarning

javascript - Puppeteer 获取具有相同选择器的元素列表

背景:使用NodeJS/CucumberJS/Puppeteer为emberJS解决方案构建端到端回归测试。问题:当多个动态元素具有相同的选择器时,选择(page.click)并获取其中一个元素的textContent?(在我的例子中,我有4个具有相同选择器的元素=[data-test-foo4="true"])我知道,那是:consttext=awaitpage.evaluate(()=>document.querySelector('[data-test-foo4="true"]').textContent);我可以获取第一个元素的文本,但是如何使用相同的选择器选择其他元素?我试过

javascript - 如何模糊 puppeteer 中的输入元素?

我正在用puppeteer师测试形式。该表单具有在输入元素上发生模糊事件时触发的验证。但是在puppeteer中没有模糊元素的API。我正在尝试聚焦/单击body或div元素,但这无法触发我的onBlur验证。page.click("body"),page.focus("body")现在,我正在为火焰模糊事件使用虚假的点击图像。但这不是一个好方法。exportclassLoginPage{constructor(privatepage:Page){}asyncsetup():Promise{awaitthis.page.goto(MY_LOGIN_FORM);}asynctypeEma

javascript - 如何使用 puppeteer 获取 html 元素的所有子元素值

我正在使用puppeteer.我想获取表的列名的值。XYZ0500055006000650我需要得到的是这些td值的数组。我尝试了page.$(selector)但无法理解输出。我也试过:letidAttribute=awaitpage.$eval('.GridHeader',e=>e.childNodes);console.log(idAttribute)但无法获取这些td值的数组。你能帮我循环这些值吗?编辑:找到问题的答案并将其发布在答案部分。 最佳答案 我能够使用以下方法获得解决方案:constdata=awaitpage.e

javascript - 如何使用 Puppeteer 和纯 JavaScript 检查元素是否可见?

我想用Puppeteer检查DOM元素是否可见和纯JavaScript(不是jQuery),我该怎么做?我所说的可见是指元素通过CSS显示,而不是隐藏(例如display:none)。例如,我可以通过CSS规则display:none来判断我的元素#menu是否被隐藏,方法如下:constisNotHidden=awaitpage.$eval('#menu',(elem)=>{returnelem.style.display!=='none'})一般而言,我如何确定元素是否隐藏,而不仅仅是通过display:none? 最佳答案 我

javascript - Nodemon - 安装期间为 "clean exit - waiting for changes before restart"

我正在尝试使用Node和Postgres设置RESTfulAPI。我遇到了一个问题,每当我尝试运行服务器(使用npmstart)在本地测试它时,我都会得到以下输出:[nodemon]1.14.10[nodemon]torestartatanytime,enterrs[nodemon]watching:.[nodemon]startingnodeindex.jsserver.js[nodemon]cleanexit-waitingforchangesbeforerestart在网上搜索了一段时间后,我找不到太多关于“干净退出-重启前等待更改”的确切含义的资源,尤其是在这种情况下。这是我的

javascript - 在 puppeteer 中加载页面之前设置本地存储项目?

如果您没有设置JWT_TOKEN,我们有一些路由逻辑可以将您踢到主页...我想在页面加载之前/调用js之前设置它。我该怎么做? 最佳答案 你必须像这样注册localStorage项目:awaitpage.evaluate(()=>{localStorage.setItem('token','example-token');});您应该在page.goto页面之后执行此操作-浏览器必须有一个url才能在其上注册本地存储项目。在此之后,再次进入同一页面,这次token应该在页面加载之前就在这里。这是一个完整的示例:constpuppet

javascript - Puppeteer 启动隐身

我使用ws端点连接到浏览器(puppeteer.connect({browserWSEndpoint:''}))。当我启动最终连接到的浏览器时,有没有办法以隐身方式启动它?我知道我可以做这样的事情:constincognito=awaitthis.browser.createIncognitoBrowserContext();但隐身session似乎与最初打开的浏览器相关联。我只希望它独立存在。我也看到你可以这样做:constbaseOptions:LaunchOptions={args:['--incognito']};但我不确定这是否是最好的方法。如有任何建议,我们将不胜感激。谢谢

javascript - 运行时设置 puppeteer 窗口大小而不是 headless (不是视口(viewport))

是否有可能像视口(viewport)大小一样设置浏览器(Chrome[ium])窗口大小?当浏览器没有正常运行并且我想直观地看到浏览器实例中发生了什么时,仅设置视口(viewport)会导致外观不方便。所以我想要如下内容:constbrowser=awaitpuppeteer.launch({headless:false,//ThebrowserisvisibleignoreHTTPSErrors:true}),page=awaitbrowser.newPage();//ThisiswellexplainedintheAPIawaitpage.setViewport({width:op

javascript - Puppeteer:如何监听对象事件

是否可以监听页面内对象派发的事件?假设我在要访问的页面中有这段代码:varevent=newCustomEvent('status',{detail:'ok'});window.addEventListener('status',function(e){console.log('status:',e.detail);});setInterval(window.dispatchEvent,1000,event);我希望能够监听由窗口对象(或与此相关的任何其他JS对象)分派(dispatch)的事件。我如何在Puppeteer中执行此操作? 最佳答案