英文:
Drag element on Playwright
问题
我想知道是否可以使用Golang Playwright点击并拖动网页元素,因为它存在点击和移动,但没有同时操作两者的方法。
英文:
I would like to know if it is possible click and drag an element of web page with Golang Playwright, because it exists click and move, but not both joints.
答案1
得分: 2
我得到了一个可以拖动Playwright中元素的工作版本。以下是TypeScript的实现代码:
async dragElement(element: ElementHandle, xOffset: number, yOffset: number, page: Page): Promise<void> {
const elementBox = await element.boundingBox();
if (!elementBox) {
throw new Error('无法找到元素的边界框');
}
const elementCenterX = elementBox.x + elementBox.width / 2;
const elementCenterY = elementBox.y + elementBox.height / 2;
await element.hover();
await page.mouse.down();
await page.mouse.move(elementCenterX + xOffset, elementCenterY + yOffset);
await page.mouse.up();
}
请注意,这只是一个翻译,我无法运行代码或提供其他帮助。
英文:
I got a working version that drags an element in Playwright. This is the implementation in TypeScript.
async dragElement(element: ElementHandle, xOffset: number, yOffset: number, page: Page): Promise<void> {
const elementBox = await element.boundingBox();
if (!elementBox) {
throw new Error('Unable to find bounding box on element');
}
const elementCenterX = elementBox.x + elementBox.width / 2;
const elementCenterY = elementBox.y + elementBox.height / 2;
await element.hover();
await page.mouse.down();
await page.mouse.move(elementCenterX + xOffset, elementCenterY + yOffset);
await page.mouse.up();
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论