我正在开发Django项目。我使用名为test_seleium_view()的视图对Seleium的Chrome浏览器进行了测试。出于演示目的,我的代码如下所示:
urls.py
# coding=utf-8
from __future__ import unicode_literals, absolute_import
from django.conf.urls import url
from .views import *
urlpatterns = [url(r'^test_seleium$',test_seleium_view,name='test_seleium'),]
test_seleium.py
# coding=utf-8
from __future__ import unicode_literals, absolute_import
import time
from django.shortcuts import render_to_response
from selenium import webdriver
def test_seleium_view(request):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument('--disable-extensions')
CHROME_DRIVER_PATH = r"C:\Program Files (x86)\chromedriver\chromedriver_win32_v2.43.exe"
driver = webdriver.Chrome(executable_path=CHROME_DRIVER_PATH, chrome_options=chrome_options)
driver.get('http://www.google.com')
time.sleep(5)
driver.quit()
return render_to_response('result.html',{'text': "success"})
当我在Django开发服务器上访问http://127.0.0.1:8000/app_name/test_seleium时,一切正常,Seleium启动了Chrome浏览器,然后打开http://www.google.com等待5秒钟,然后关闭Chrome浏览器。
然后,我将这个Django项目带到安装了Apache和mod_wsgi的虚拟机(VMware Workstation,安装了7个64位)上,当我访问http://my_vmware_virtual_host_ip:8000/app_name/test_seleium时,它没有使用Chrome浏览器,但是过了一会儿,该页面显示文本“成功”,就像test_seleium_view()已成功运行,并且在Windows 7背景上存在一个chrome.exe进程。
我的环境:
VMware Workstation 15.0.0 build-10134415
Windows 7 64bit on VMware Virtual Machine
Apache 2.4.37 Win64
mod_wsgi 4.6.5+ap24vc14-cp36-cp36m-win_amd64
python 3.6.4 64bit
Django 2.0.7
selenium 3.14.1
chromdriver win32_v2.43,win32_v2.42
我在google.com上搜索了此问题,但运气不佳。
我在StackOverFlow.com上发现了类似的问题,但没有答案。