私は最近Selenium Pythonスクレイパーを完成させました。私の個人的なマシンでそれを実行すると完全に正常に動作しますが、結果をサーバー上で実行すると同じではありません。サーバーでは私はpyvirtualdisplay
ローカルマシンで動作しているため、セレンはサーバー上で動作していません
browser.get('https://example.com')
html = browser.page_source
を使用してヘッドレスを実行していますそしてこれはpyvirtualdisplayのための私のコードです。
display = Display(visible=0, size=(800, 600))
display.start()
ローカルマシン上で実行している間は、それは完全にはJavaScriptによって生成されるが、私は私のサーバー上でそれを実行すると、それにはJavaScriptによって生成されたHTMLコンテンツをつかむしないHTMLをつかむので、私は唯一で終わりますJS生成コンテンツのない部分ページ。
更新: 私はまた、Seleniumを使用した提案に従ってスクリーンショットを撮りました。 Screenshotは、ページが部分的にロードされ、JSによるコンテンツが画面にロードされていないことを示しています。
「ブラウザ」はどのように定義されていますか?ありがとう。 – alecxe
@alecxe 'browser = webdriver.Firefox()' – abhanan93
サーバ上で、実際のGUIまたはフレームバッファ(ヘッドレス)で動作していますか? –