Работая над некоторыми задачами автоматизации, я застрял. Итак, у меня есть таблица с несколькими строками, и мне нужно выбрать каждую строку одну за другой и выполнить событие щелчка, которое открывает настраиваемое контекстное меню, а затем мне нужно щелкнуть параметр контекстного меню, чтобы открыть диалоговое окно box.
Итак, я могу открыть контекстное меню custom , но не смог активировать опцию щелчка / выбора из контекстного меню, чтобы открыть диалоговое окно. Я надеюсь, что это возможно, и пробовал разные вещи, но безуспешно.
Ниже приведен пример моего кода:
let trs = await page2.$$('#ctl00_Content_GridView1 > tbody > tr');
for (let i = 0; i < trs .length; i++) {
const item = await page2.evaluateHandle((i) => {
return document.querySelectorAll('#ctl00_Content_GridView1 > tbody > tr')[i];
}, i);
//select the row first to make it active
item.click();
await page2.waitForSelector('#ctl00_Content_GridView1 > tbody > tr.gridrow.wrapword.info.active');
//perfrom right click on the selected row to open context menu
item.click({
button: 'right',
})
await page2.waitForSelector('#context-menu-layer', { visible: true, timeout: 0 });
//select the context menu option and trigger click to open dialog box.
// nothing happens :(
await page2.evaluate(async () => {
//click option
document.querySelector("body > ul > li.context-menu-item.icon.icon").click();
});
await page2.waitForSelector('#ctl00_Content_Div2');
}