Skip to content

Commit e459fae

Browse files
authored
fix: partial scroll issue in chrome extension (#401)
* fix: partial scroll issue in chrome extension * fix: update tips for self-hosted model
1 parent 9dbb4b6 commit e459fae

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

packages/midscene/src/ai-model/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export async function callAiFn<T>(
2525
): Promise<{ content: T; usage?: AIUsageInfo }> {
2626
assert(
2727
checkAIConfig(),
28-
'Cannot find config for AI model service. You should set it before using. https://midscenejs.com/model-provider.html',
28+
'Cannot find config for AI model service. If you are using a self-hosted model without validating the API key, please set `OPENAI_API_KEY` to any non-null value. https://midscenejs.com/model-provider.html',
2929
);
3030

3131
const { content, usage } = await callToGetJSONObject<T>(

packages/midscene/src/ai-model/service-caller/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ import { findElementSchema } from '../prompt/llm-locator';
3838
import { planSchema } from '../prompt/llm-planning';
3939
import { assertSchema } from '../prompt/util';
4040

41-
export function checkAIConfig(preferVendor?: 'openAI') {
42-
if (preferVendor && preferVendor !== 'openAI') return false;
41+
export function checkAIConfig() {
4342
if (getAIConfig(OPENAI_API_KEY)) return true;
4443
if (getAIConfig(MIDSCENE_USE_AZURE_OPENAI)) return true;
4544
if (getAIConfig(ANTHROPIC_API_KEY)) return true;

packages/web-integration/src/chrome-extension/page.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,9 @@ export default class ChromeExtensionProxyPage implements AbstractPage {
407407
});
408408
}
409409

410+
private latestMouseX = 50;
411+
private latestMouseY = 50;
412+
410413
mouse = {
411414
click: async (x: number, y: number) => {
412415
await this.showMousePointer(x, y);
@@ -431,8 +434,8 @@ export default class ChromeExtensionProxyPage implements AbstractPage {
431434
startX?: number,
432435
startY?: number,
433436
) => {
434-
const finalX = startX || 50;
435-
const finalY = startY || 50;
437+
const finalX = startX || this.latestMouseX;
438+
const finalY = startY || this.latestMouseY;
436439
await this.showMousePointer(finalX, finalY);
437440
await this.sendCommandToDebugger('Input.dispatchMouseEvent', {
438441
type: 'mouseWheel',
@@ -441,6 +444,8 @@ export default class ChromeExtensionProxyPage implements AbstractPage {
441444
deltaX,
442445
deltaY,
443446
});
447+
this.latestMouseX = finalX;
448+
this.latestMouseY = finalY;
444449
},
445450
move: async (x: number, y: number) => {
446451
await this.showMousePointer(x, y);
@@ -449,6 +454,8 @@ export default class ChromeExtensionProxyPage implements AbstractPage {
449454
x,
450455
y,
451456
});
457+
this.latestMouseX = x;
458+
this.latestMouseY = y;
452459
},
453460
drag: async (
454461
from: { x: number; y: number },

packages/web-integration/src/puppeteer/base-page.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,6 @@ export class Page<
208208
private async moveToPoint(point?: Point): Promise<void> {
209209
if (point) {
210210
await this.mouse.move(point.left, point.top);
211-
} else {
212-
const size = await this.size();
213-
await this.mouse.move(size.width / 2, size.height / 2);
214211
}
215212
}
216213

0 commit comments

Comments
 (0)