[ad_1]
ゲーム Web サイトから特定の Div タグのコンテンツをスクレイピングしようとしています。 最初にサイトにアクセスすると、div タグには未完成のクラスを持つ空のコンテンツが含まれます。 例
その後、45 秒ごとに textContent と class 属性が動的に追加されます。例
45
45 秒ごとに、textContent と class 属性が別の値に変更されます。
最初はこんな感じかもしれません
23
45秒後、おそらくこのようなものに変わります
3
さらに45秒後、次のようになります
33
puppeteer がそのようなページにアクセスし、クラスと textcontent が div タグに追加されるのを待ってから、クラスがどんなものでも textcontent を取得してログに記録し、コンソールに puppetter を閉じて再度実行するようにするにはどうすればよいですか。
以下のコードを試してみましたが、selectElemClass が定義されていないか、未定義のプロパティの長さを読み取れないことがわかりました。 助けてください。
ページ上の 6 ボールの結果を調べて、説明しようとしている動作を確認できます。 ここは ウェブサイトのURL 左から最初のボールのクラスとテキストのコンテキストを取得しようとしています。 それがうまく機能するようになれば、残りの 5 つのボールに対して同じ作業プロセスを繰り返します。
私が試したこと:
JavaScript
<pre>const puppeteer = require("puppeteer"); async function scrapeData(url){ const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(url); const selectElemClass = await page.evaluate(() => { return document.querySelectorAll(".ball")[2].classList[1]; }); //console.log(selectElemClass); const hasClassArived = await page.waitForFunction(function(selectElemClass){ return selectElemClass.length > 6; },{timeout:60000}); hasClassArived ? console.log(selectElemClass) : console.log("failed"); browser.close(); } scrapeData("https://logigames.bet9ja.com/Games/Launcher?gameId=11000&provider=0&sid=&pff=1&skin=201");
解決策 1
こんにちは、次を使用できます: page.waitForSelector(‘selector’, {visible:true})
[ad_2]
タイトルとURLをコピーしました
コメント