2017-09-21 6 views
-1

https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepresskey-optionsによれば、人形でキーボードのボタンを押すことをシミュレートすることができます。人形のボタンのプレス

は、ここで私は何をすべきかです:

// 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

を多分=はページを待つ形 'constのフォームを送信しよう:

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

また、代わりの評価の$ evalメソッドを使用することができます。 $( '#outer-container> nav> span.right> span.search-notification-wrapper> span>フォーム'); await form.evaluate(form => form.submit()); ' – codtex

+0

これを試してください、ありがとう@codtex! – elena

+0

私は試しました。それは何かをするようです(その結果、ページは基本的にリロードされます)。しかし、希望のフォームは提出されず、結果は表示されません。 – elena

答えて

0

私はそれを最終的に考え出しました。私はその同じフォームの中に型が提出されているアンカー要素があることを発見しました。私はそれをクリックし、フォームが提出されました。ここで

は、私が使用したコードです:

await page.$eval('a#topbar-search', form => form.click()); 
関連する問題