2017-09-21 61 views
-1

根據https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepresskey-options,您可以模擬按木偶的鍵盤按鈕。Puppeteer按鈕按

這是我做的:

// First, click the search button 
await page.click('#outer-container > nav > span.right > span.search-notification-wrapper > span > form > input[type="text"]'); 
// Focus on the input field 
await page.focus('#outer-container > nav > span.right > span.search-notification-wrapper > span > form > input[type="text"]'); 
// Enter some text into the input field 
await page.type("Bla Bla"); 
// Press Enter to search -> this doesn't work! 
await page.press("Enter"); 

按下按鈕不會產生任何東西。它基本上被忽略。

+0

也許嘗試提交表單'常量形式=等待頁面。 $('#outer-container> nav> span.right> span.search-notification-wrapper> span> form'); 等待form.evaluate(form => form.submit());' – codtex

+0

將嘗試,謝謝@codtex! – elena

+0

我試過了。它似乎做了一些事情(結果是頁面基本上重新加載)。但是,所需的表單未提交,我沒有看到任何結果。 – elena

回答

0

我終於想通了。我在同一個表單中發現了一個類型被提交的錨元素。然後我點擊它並提交表單。

下面是我使用的代碼:

const form = await page.$('a#topbar-search'); 
await form.evaluate(form => form.click()); 

您還可以使用$ eval方法,而不是評價:

await page.$eval('a#topbar-search', form => form.click());