Python+;硒+;幻影js=>;使用本地开发服务器加载和呈现页面时出现问题
加载页面时,我正在保存一个屏幕截图。如果我用产品测试它,它工作正常(页面呈现正确)但是,如果我使用本地开发服务器进行测试,当我检查屏幕截图时,页面无法正确呈现。缺少某些元素(HTML、图像) 问题是幻影。如果我使用Firefox,它可以正常工作。但我需要“无头”,因为这是一项要求 我正在使用Python 2.7.6+Selenium 2.45.0+PhantomJS 1.9.8(OS X Yosemite 10.10) 代码: 此外,我还测试了以下内容,结果为无:Python+;硒+;幻影js=>;使用本地开发服务器加载和呈现页面时出现问题,python,selenium,phantomjs,Python,Selenium,Phantomjs,加载页面时,我正在保存一个屏幕截图。如果我用产品测试它,它工作正常(页面呈现正确)但是,如果我使用本地开发服务器进行测试,当我检查屏幕截图时,页面无法正确呈现。缺少某些元素(HTML、图像) 问题是幻影。如果我使用Firefox,它可以正常工作。但我需要“无头”,因为这是一项要求 我正在使用Python 2.7.6+Selenium 2.45.0+PhantomJS 1.9.8(OS X Yosemite 10.10) 代码: 此外,我还测试了以下内容,结果为无: 服务参数=['--本地到远程
- 服务参数=['--本地到远程url访问=true']
- 服务参数=['--忽略ssl错误=true']:(产品为https)
- 设置用户代理
- 启用/禁用Cookie
- 激活localToRemoteUrlAccessEnabled
请问,有谁能给我一些建议吗?提前谢谢 仅供参考,如果
phantomjs
是你头疼的原因,它让你变得暴力,你可以用firefox或chrome虚拟显示来接近它,例如..谢谢@alecxe!最后,我找不到PhantomJS的解决方案,所以我使用的是xvfbxvfb运行python tests.py
import unittest
import time
from selenium import webdriver
class Test(unittest.TestCase):
HEADLESS = 1
DEVELOPMENT = 1
def setUp(self):
if self.HEADLESS:
self.driver = webdriver.PhantomJS()
self.driver.set_window_size(1400, 1200)
else:
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.driver.implicitly_wait(100)
url = 'http'
if self.DEVELOPMENT:
url += '://development.localhost.lan:3000/login'
else:
url += 's://PRODUCTION_WEB.com/login'
self.driver.get(url)
time.sleep(10)
self.driver.save_screenshot('login.png')
def tearDown(self):
print 'tearDown'
def test_import(self):
print 'test_import'
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(Test)
unittest.TextTestRunner(verbosity=2).run(suite)