タグ付けされた質問 「puppeteer」

14
jest.setTimeoutで指定された5000msのタイムアウト時間内に非同期コールバックが呼び出されませんでした
私は操り人形師と冗談を使っていくつかのフロントエンドテストを実行しています。 私のテストは次のようになります: describe("Profile Tab Exists and Clickable: /settings/user", () => { test(`Assert that you can click the profile tab`, async () => { await page.waitForSelector(PROFILE.TAB); await page.click(PROFILE.TAB); }, 30000); }); テストを実行すると、すべてが期待どおりに動作することがあります。その他の場合、エラーが発生します。 Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout. at node_modules/jest-jasmine2/build/queue_runner.js:68:21 at Timeout.callback [as …

7
Puppeteer:.evaluate()で変数を渡す
Puppeteerのpage.evaluate()関数に変数を渡そうとしていますが、次の非常に単純な例を使用すると、変数が未定義です。evalVar 私はPuppeteerを使い始めたばかりで、構築する例が見つからないので、その変数をpage.evaluate()関数に渡して内部で使用できるようにする必要があります。 const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); const evalVar = 'WHUT??'; try { await page.goto('https://www.google.com.au'); await page.waitForSelector('#fbar'); const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // appears undefined const urls = []; hrefs = document.querySelectorAll('#fbar #fsl …

9
Puppeteerでテキスト付きの要素をクリックする方法
テキスト付きの要素をクリックする方法(APIで見つかりませんでした)または解決策はありますか? たとえば、私はhtmlを持っています: <div class="elements"> <button>Button text</button> <a href=#>Href text</a> <div>Div text</div> </div> そして、次のように、テキストが折り返されている要素をクリックしたいと思います(.elements内のボタンをクリックします)。 Page.click('Button text', '.elements')
91 puppeteer 

2
Dockerコンテナーでコアファイルダンプを無効にする方法
私のPHPコンテナーはpuppeteerを実行してPDFを生成します。PDFドキュメントを生成することで、コンテナ内に2つのコアダンプファイルも作成されます。実際にどこから来たのかわかりません。 ホスト/サーバーはCentOS 7です。 私は以下をチェックしました: アプリケーションエラーログはありません。Browsershot/ puppeteerはエラーなしで実行されています。 エラーログ(segfaultなど)が見つかりません /var/log/messages コアダンプを無効にしようとしました https://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/の Disable core dumpsセクションに従って、私は完了しました: 次のコンテンツをに追加しています /etc/security/limits.conf * soft core 0 * hard core 0 以下によってdisable-core-dumps.shを作成しました。 echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh に次のコンテンツを追加しました /etc/systemd/coredump.conf [Coredump] Storage=none ProcessSizeMax=0 そして、サーバーとコンテナを再起動します。 ulimit -c 0コンテナ(アルパイン)の内側にもセットしてみました 上記のトリックはどれも私にはうまくいきません。人形遣いがPDFを生成するたびに、常に次のような2つのコアダンプファイルが作成されます。 core.131 core.52 コアファイルは次のようになります。 誰かがコアダンプを無効にするのを手伝ってくれる?どうもありがとう。

1
ヘッドレスブラウザーの画像品質-ヘッドレスクロム、ファントムjs、スリムなjs
ヘッドレスブラウザーの内部で何が行われるかについての詳細な情報を探しています。私はこれまで、slimmerJS、Phantom.js、およびHeadless Chromeなどのさまざまなヘッドレスブラウザーで、さまざまなサイトでスクリーンショットを撮る目的で作業してきました。 ブラウザに表示されるようなリアルでシャープな品質の画像を生成することはできませんでした。これは、ツールの制限のように見えます。これは、これから得られる最高の品質ですが、理解したいと思いますなぜ、そしておそらく、それをより良くする方法。 以下の例を比較してください。 このWebサイト(https://en.wikipedia.org/wiki/Main_Page)の左上隅にWikipediaのロゴがあります。 これは、操り人形師を介してヘッドレスクロムによって撮影されたそのロゴのスクリーンショットです。 実際のウェブサイトとスクリーンショットを比較すると、画像がぼやけていることがわかります。この例では、それは単なる画像ですが、これはHTMLテキストでも発生します。 今、私が自分のコンピュータを使用してスクリーンショットを撮るとしたら、それがWindows、Mac、Linuxであっても、完全に本当のように見える非常に高品質のスクリーンショットが得られます。 なぜこれが起こるのですか?各ライブラリで最高品質のスクリーンショットを設定し、十分な大きさのビューポートを設定してスクリーンショットが適切な解像度になるように、すべての標準的なことを試しました。これは本当に、ヘッドレスブラウザーのスクリーンショットから取得できる最高品質ですか? この分野についての啓蒙があれば幸いです。ありがとう!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.