Правильно, что вы можете использовать elementHandle.click()
с параметром button
, установленным на 'right'
, чтобы щелкнуть правой кнопкой мыши элемент:
const example = await page.$( '#example' );
await example.click( {
button : 'right'
});
В соответствии с официальнымДокументация для elementHandle.click()
:
Этот метод прокручивает элемент при необходимости, а затем использует page.mouse
, чтобы щелкнуть в центре элемента.Если элемент отсоединен от DOM, метод выдает ошибку.
Мы можем убедиться в этом, посмотрев исходный код для mouse.click()
, и мы увидим, чтоПараметр button
рассматривается перед отправкой в Input.dispatchMouseEvent
в протоколе Chrome DevTools.
Другой метод, который можно использовать для щелчка правой кнопкой мыши по элементу, заключается в использовании page.click()
:
await page.click( '#example', {
button : 'right'
});
В качестве альтернативы вы можете использовать page.evaluate()
, чтобы щелкнуть правой кнопкой мыши элемент с JavaScript, выполненным в среде DOM страницы:
await page.evaluate( () => {
const example = document.getElementById( 'example' );
const event = document.createEvent( 'MouseEvents' );
event.initMouseEvent( 'click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 2, null );
example.dispatchEvent( event );
});