Python、Selenium和Chrome:无法加载页面,因为;“不安全”;警告
我正试图通过Python、Selenium和Chrome实现网页的自动化。代码是:Python、Selenium和Chrome:无法加载页面,因为;“不安全”;警告,python,google-chrome,selenium,selenium-chromedriver,Python,Google Chrome,Selenium,Selenium Chromedriver,我正试图通过Python、Selenium和Chrome实现网页的自动化。代码是: import time from multiprocessing.dummy import Pool as ThreadPool from selenium.webdriver.chrome.options import Options from selenium import webdriver from selenium.webdriver.common.proxy import Proxy, ProxyT
import time
from multiprocessing.dummy import Pool as ThreadPool
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = "http://some-proxy.net:8090"
capabilities = webdriver.DesiredCapabilities.CHROME
prox.add_to_capabilities(capabilities)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-web-security')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-notifications")
chrome_options.add_argument("--enable-automation")
chrome_options.add_argument("--disable-save-password-bubble")
chrome_options.add_argument("test-type")
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("test-type=browser")
chrome_options.add_argument("disable-infobars")
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver_path = 'M:/chromedriver/chromedriver.exe'
driver = webdriver.Chrome(driver_path, chrome_options=chrome_options,desired_capabilities=capabilities)
driver.get('https://somepage.csintra.net/')
Chrome将打开,但不会加载页面。相反,我会显示以下“不安全”警告:
根据上面的代码,我尝试过禁用从各种SO答案中收集的各种Chrome选项,但没有效果。我还尝试了chrome\u选项。按照建议添加参数('--headless')
,但这会在chromedriver.exe中导致以下错误:
无法解析服务名称:度量
正如上面的屏幕截图所示,我也无法在Selenium打开Chrome时取消阻止通知、弹出窗口和位置,因为它们被管理员阻止了-我在工作中这样做(但无论如何,在我的Chrome设置中,“[*].csintra.net”被允许打开弹出窗口和通知)
运行代码时Python的控制台输出:
Traceback (most recent call last):
File "<ipython-input-40-82760f33374f>", line 1, in <module>
runfile('M:/python scripts/coding_automation.py', wdir='M:/python scripts')
File "C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "M:/python scripts/coding_automation.py", line 35, in <module>
driver = webdriver.Chrome(driver_path, chrome_options=chrome_options,desired_capabilities=capabilities)
File "C:\Users\M299700\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\chrome\webdriver.py", line 75, in __init__
desired_capabilities=desired_capabilities)
File "C:\Users\M299700\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webdriver.py", line 156, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\M299700\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webdriver.py", line 251, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Users\M299700\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
self.error_handler.check_response(response)
File "C:\Users\M299700\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: unknown error: Chrome failed to start: crashed
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
(Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 6.1.7601 SP1 x86_64)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
runfile('M:/python脚本/coding_automation.py',wdir='M:/python脚本')
文件“C:\Program Files\Anaconda3\lib\site packages\spyder\utils\site\site customize.py”,第866行,在runfile中
execfile(文件名、命名空间)
文件“C:\Program Files\Anaconda3\lib\site packages\spyder\utils\site\site customize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“M:/python scripts/coding_automation.py”,第35行,在
driver=webdriver.Chrome(驱动程序路径,Chrome选项=Chrome选项,所需的功能=功能)
文件“C:\Users\M299700\AppData\Roaming\Python36\site packages\selenium\webdriver\chrome\webdriver.py”,第75行,在\uuu init中__
期望的_能力=期望的_能力)
文件“C:\Users\M299700\AppData\Roaming\Python36\site packages\selenium\webdriver\remote\webdriver.py”,第156行,在\uuu init中__
启动会话(功能、浏览器配置文件)
文件“C:\Users\M299700\AppData\Roaming\Python36\site packages\selenium\webdriver\remote\webdriver.py”,第251行,在启动会话中
响应=self.execute(Command.NEW_会话,参数)
文件“C:\Users\M299700\AppData\Roaming\Python36\site packages\selenium\webdriver\remote\webdriver.py”,第320行,在execute中
self.error\u handler.check\u响应(响应)
文件“C:\Users\M299700\AppData\Roaming\Python36\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
WebDriverException:未知错误:Chrome无法启动:崩溃
(未知错误:DevToolsActivePort文件不存在)
(从chrome位置C:\Program Files(x86)\Google\chrome\Application\chrome.exe启动的进程不再运行,因此ChromeDriver假定chrome已崩溃。)
(驱动程序信息:chromedriver=2.41.578737(49da6702b16031c40d63e5618de03a32ff6c197e),平台=Windows NT 6.1.7601 SP1 x8664)
有没有办法绕过这个
编辑:
如上所述,“复制”线程中发布的解决方案没有任何帮助。我觉得您必须抛出一个异常并检查它发出的某种调用。或者知道错误屏幕的div类型,并使用DoesNotExist rabbit hole进行检查 我认为您不需要在参数前面加上
--
谢谢Harry。我试图删除--
,但没有效果。