Selenium无法在服务器上运行,因为它在本地计算机上运行

时间:2016-06-15 14:01:59

标签: python selenium centos pyvirtualdisplay

我最近完成了我的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的内容未加载到屏幕上。

1 个答案:

答案 0 :(得分:1)

这听起来像是您的操作系统或浏览器配置的问题。你应该做的第一件事是在你的帧缓冲区中截取结果,并确保firefox正确加载JS内容。如果不是,那么您可能需要检查浏览器/操作系统配置。

pyvirtualdisplay有一种截图方式,您可以查看here

specflow也可截图,说明here

如果是FireFox /浏览器问题,请确保已安装在服务器上运行javascript所需的所有正确插件和Java。确保为该浏览器启用了javascript。