Я занимаюсь разработкой проекта Django. Я использую представление с именем test_seleium_view () для запуска браузера Chrome от Seleium. Для демонстрации мой код так же прост, как показано ниже:
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"})
Когда я захожу на http://127.0.0.1:8000/app_name/test_seleium на сервере разработки Django, все работает нормально, Seleium запускает браузер Chrome, затем открывает http://www.google.com, подождите 5 секунд, затем закройте браузер Chrome.
Затем я переношу этот проект Django на мою виртуальную машину (VMware Workstation, win 7 64bit), на которой установлены Apache и mod_wsgi, когда я захожу на http://my_vmware_virtual_host_ip:8000/app_name/test_seleium,, он не запускает браузер Chrome, но через некоторое время на странице отображается текст «success», точно так же, как 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 , но он не получил ответа.