@pedrofariasx/qwenproxy 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/services/playwright.ts +46 -46
package/package.json
CHANGED
|
@@ -562,21 +562,23 @@ export async function getGuestHeaders(): Promise<Record<string, string>> {
|
|
|
562
562
|
await guestPage!.focus(inputSelector);
|
|
563
563
|
await guestPage!.fill(inputSelector, '');
|
|
564
564
|
await guestPage!.type(inputSelector, 'a', { delay: 50 });
|
|
565
|
-
await sleep(
|
|
565
|
+
await sleep(1500);
|
|
566
566
|
|
|
567
|
+
// Try pressing Enter first as it is highly reliable
|
|
568
|
+
await guestPage!.focus(inputSelector);
|
|
569
|
+
await guestPage!.keyboard.press('Enter');
|
|
570
|
+
|
|
567
571
|
const selectors = ['.message-input-right-button-send .send-button', '.chat-prompt-send-button', 'button.send-button'];
|
|
568
|
-
let clicked = false;
|
|
569
572
|
for (const selector of selectors) {
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
573
|
+
try {
|
|
574
|
+
const btn = await guestPage!.$(selector);
|
|
575
|
+
if (btn && await btn.isVisible()) {
|
|
576
|
+
await btn.click({ force: true, delay: 50 }).catch(() => {});
|
|
577
|
+
}
|
|
578
|
+
} catch (e) {
|
|
579
|
+
// ignore click errors
|
|
575
580
|
}
|
|
576
581
|
}
|
|
577
|
-
if (!clicked) {
|
|
578
|
-
await guestPage!.keyboard.press('Enter');
|
|
579
|
-
}
|
|
580
582
|
} catch (e) {
|
|
581
583
|
clearTimeout(timeout);
|
|
582
584
|
reject(e);
|
|
@@ -825,47 +827,45 @@ async function _getQwenHeadersInternal(forceNew = false, accountId?: string): Pr
|
|
|
825
827
|
console.log(`[Playwright] Triggering request for ${cacheKey}...`);
|
|
826
828
|
const inputSelector = 'textarea:visible, [contenteditable="true"]:visible';
|
|
827
829
|
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
const selectors = [
|
|
835
|
-
'.message-input-right-button-send .send-button',
|
|
836
|
-
'.chat-prompt-send-button',
|
|
837
|
-
'button.send-button'
|
|
838
|
-
];
|
|
830
|
+
try {
|
|
831
|
+
await page.focus(inputSelector);
|
|
832
|
+
await page.fill(inputSelector, '');
|
|
833
|
+
await page.type(inputSelector, 'a', { delay: 50 });
|
|
834
|
+
console.log(`[Playwright] Typed char for ${cacheKey}, waiting for UI to update...`);
|
|
835
|
+
await sleep(1500);
|
|
839
836
|
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
if (btn && await btn.isVisible()) {
|
|
845
|
-
console.log(`[Playwright] Attempting click on: ${selector}`);
|
|
846
|
-
|
|
847
|
-
await page.evaluate((sel) => {
|
|
848
|
-
const element = document.querySelector(sel) as HTMLElement;
|
|
849
|
-
if (element) {
|
|
850
|
-
element.focus();
|
|
851
|
-
element.click();
|
|
852
|
-
}
|
|
853
|
-
}, selector);
|
|
837
|
+
// Try pressing Enter first on the input field as it is highly reliable
|
|
838
|
+
console.log(`[Playwright] Pressing Enter for ${cacheKey}...`);
|
|
839
|
+
await page.focus(inputSelector);
|
|
840
|
+
await page.keyboard.press('Enter');
|
|
854
841
|
|
|
855
|
-
|
|
842
|
+
// Also attempt to click the send button in case Enter didn't submit
|
|
843
|
+
const selectors = [
|
|
844
|
+
'.message-input-right-button-send .send-button',
|
|
845
|
+
'.chat-prompt-send-button',
|
|
846
|
+
'button.send-button'
|
|
847
|
+
];
|
|
856
848
|
|
|
857
|
-
|
|
858
|
-
|
|
849
|
+
for (const selector of selectors) {
|
|
850
|
+
try {
|
|
851
|
+
const btn = await page.$(selector);
|
|
852
|
+
if (btn && await btn.isVisible()) {
|
|
853
|
+
console.log(`[Playwright] Also attempting click on: ${selector}`);
|
|
854
|
+
await page.evaluate((sel) => {
|
|
855
|
+
const element = document.querySelector(sel) as HTMLElement;
|
|
856
|
+
if (element) {
|
|
857
|
+
element.focus();
|
|
858
|
+
element.click();
|
|
859
|
+
}
|
|
860
|
+
}, selector);
|
|
861
|
+
await btn.click({ force: true, delay: 50 }).catch(() => {});
|
|
862
|
+
}
|
|
863
|
+
} catch (e) {
|
|
864
|
+
// ignore click errors
|
|
859
865
|
}
|
|
860
|
-
} catch (e) {
|
|
861
|
-
console.error(`[Playwright] Error clicking ${selector} for ${cacheKey}:`, e);
|
|
862
866
|
}
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
if (!clicked) {
|
|
866
|
-
console.log(`[Playwright] No send button found/clicked for ${cacheKey}, fallback to Enter...`);
|
|
867
|
-
await page.focus(inputSelector);
|
|
868
|
-
await page.keyboard.press('Enter');
|
|
867
|
+
} catch (triggerErr: any) {
|
|
868
|
+
console.error(`[Playwright] Failed to trigger request for ${cacheKey}:`, triggerErr.message);
|
|
869
869
|
}
|
|
870
870
|
});
|
|
871
871
|
});
|