我最近完成了我的 Selenium Python 刮板。当我在我的个人机器上运行它时它工作得很好,但是当我在服务器上运行它时结果不一样。在服务器上,我正在使用无头运行pyvirtualdisplay
browser.get('https://example.com')
html = browser.page_source
这是我的 pyvirtualdisplay 代码。
display = Display(visible=0, size=(800, 600))
display.start()
在本地机器上运行时,它完全抓取了由 JavaScript 生成的 HTML,但是当我在我的服务器上运行它时,它不会抓取由 JavaScript 生成的 HTML 内容,所以我最终只得到了一个没有 JS 的部分页面生成的内容。
更新: 我还根据使用 Selenium 的建议截取了屏幕截图。截图显示页面部分加载,JS的内容没有加载到屏幕上。