jjzjj

javascript - puppeteer 操作按钮按下

根据https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepresskey-options,您可以使用Puppeteer模拟按下键盘按钮。这是我的做法://First,clickthesearchbuttonawaitpage.click('#outer-container>nav>span.right>span.search-notification-wrapper>span>form>input[type="text"]');//Focusontheinputfieldawaitpage.focu

javascript - Protractor 替换为Puppeteer吗?

对于我们的新Angular应用程序,我的团队对使用Puppeteer进行E2E测试感兴趣。过去,我们使用过量角器,并且效果很好。我个人喜欢Puppeteer可以“开箱即用”地工作,因为它与特定版本的Chromiumheadless捆绑在一起。这两个都符合我们的要求。我认为量角器更加成熟,所以我想知道如果我们沿用Puppeteer的道路会遇到什么问题。 最佳答案 量角器可以配置为在后台使用Puppeteer。两全其美。HowtousePuppeteerinanAngularapplication

javascript - 无法将代理与 puppeteer 一起使用。错误 : ERR_NO_SUPPORTED_PROXIES gets thrown

如何使用puppeteer设置代理?我尝试了以下方法:(async()=>{constbrowser=awaitpuppeteer.launch({headless:false,args:['--proxy-server=http://username:password@zproxy.luminati.io:22225']});constpage=awaitbrowser.newPage();awaitpage.goto('https://www.whatismyip.com/');awaitpage.screenshot({path:'example.png'});//awaitbr

javascript - 如何将 puppeteer 操纵者的焦点转移到弹出窗口

我正在使用Puppeteer在网站内运行测试。单击按钮后,将出现一个带有报告的新弹出浏览器窗口。在那个新窗口中是我想要提取的信息。我怎样才能让puppeteer将焦点转移到这个新创建的浏览器窗口?我的puppeteer页面上有多个打印按钮,点击它会创建一个弹出窗口,我正在尝试获取这些页面的pdf。这是我正在使用的代码。letprintButtons=awaitthis.page.$$('#printNowButton');for(vari=0;i{if((target.url()!=='about:blank')){try{constpageList=awaitbrowser.page

javascript - Puppeteer:有没有办法访问 DevTools Network API?

我正在尝试使用Puppeteer用于端到端测试。这些测试需要访问DevTools的网络模拟功能(例如模拟离线浏览)。到目前为止,我正在使用chrome-remote-interface,但它对我来说太低级了。据我所知,Puppeteer不公开网络DevTools功能(emulateNetworkConditions在DevTools协议(protocol)中)。Puppeteer中是否有一个逃生口来访问这些功能,例如在可访问DevToolsAPI的上下文中执行Javascript片段的方法?谢谢编辑:好的,看来我可以使用如下方法解决缺少API的问题:constclient=page._

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? 最佳答案 我