Javascript 与木偶演员/剧作家一起滚动不适用于SAPUI5应用程序
我目前正在尝试使用Playwright(类似于Puppeter)在一个示例SAPUI5应用程序上运行自动化测试。我正试图滚动到页面底部。但是,该功能适用于除SAPUI5应用程序之外的其他网站 我的代码如下所示:Javascript 与木偶演员/剧作家一起滚动不适用于SAPUI5应用程序,javascript,node.js,sapui5,puppeteer,playwright,Javascript,Node.js,Sapui5,Puppeteer,Playwright,我目前正在尝试使用Playwright(类似于Puppeter)在一个示例SAPUI5应用程序上运行自动化测试。我正试图滚动到页面底部。但是,该功能适用于除SAPUI5应用程序之外的其他网站 我的代码如下所示: const playright=require('playright'); (异步()=>{ 用于(常量浏览器类型[‘铬’]){ const browser=等待剧作家[browserType]。启动({ 无头:错 }); const context=await browser.newC
const playright=require('playright');
(异步()=>{
用于(常量浏览器类型[‘铬’]){
const browser=等待剧作家[browserType]。启动({
无头:错
});
const context=await browser.newContext();
const page=wait context.newPage();
等待页面。转到(“https://sapui5.hana.ondemand.com/test-resources/sap/m/demokit/orderbrowser/webapp/test/mockServer.html?sap-ui主题=sap_fiori_3”);
等待page.setViewport({
宽度:1200,
身高:500
});
等待页面。等待(5000);
wait page.waitForSelector(“#uuuu item0-uuu clone9-content”);
等待ScrollOneElement(第页,“#uuuu item0-uuuuu clone9-content”,0300);
}
})();
异步函数ScrollOneElement(页面、选择器、x、y){
等待页面。评估([选择器,x,y])=>{
const元素=document.querySelector(选择器);
控制台日志(元素);
元素。滚动(x,y);
},[selector,x,y]);
}
这是因为SAP提供了自己的滚动条,而不是利用浏览器窗口的滚动条?如果是这样,有什么方法可以禁用它吗?元素。scroll()
在Chrome开发工具中也不起作用。Element.scrollIntoView()
是否也适用于您的用例
然后它会以这样的方式结束:
// @ts-check
const playwright = require('playwright');
(async () => {
const browser = await playwright.chromium.launch();
const context = await browser.newContext({
viewport: {
width: 1200,
height: 500
}
});
const page = await context.newPage();
await page.goto("https://sapui5.hana.ondemand.com/test-resources/sap/m/demokit/orderbrowser/webapp/test/mockServer.html?sap-ui-theme=sap_fiori_3#");
await page.waitForSelector("#__item0-__clone9-content");
await scrollOnElement(page, "#__item0-__clone9-content");
await page.screenshot({ path: "screenshot.png" })
})();
async function scrollOnElement(page, selector) {
await page.$eval(selector, (element) => {
element.scrollIntoView();
});
}
互动:工作起来很有魅力。谢谢:)