Python+Selenium 首次加载时出现内存不足错误
Out of memory Error in Python+Selenium first load
我正在尝试使用 selenium 和 python 打开网站 https://www.bet365.com
,但失败了。在我的代码中,我遵循了这些步骤。
首先,我刚做了
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.bet365.com')
一段时间后,Bet365 更改了一些内容,执行上述操作后返回灰色屏幕。为了绕过它,我做了以下
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("window-size=1920,1080")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
browser=webdriver.Chrome(options=options,executable_path=r"chromedriver.exe")
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
browser.execute_cdp_cmd('Network.setUserAgentOverride',
{"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4240.198 Safari/537.36'})
browser.get('https://www.bet365.com')
从上周六开始,甚至是第一个脚本,returns 内存不足屏幕。由于这是第一次尝试,如果我删除 cookie 和缓存并重新启动计算机也会发生这种情况,我被引导相信问题不在我的计算机中,它加载其他页面也一样好,而不是 Chrome,它在常规浏览器中加载 Bet365 也很好,但使用 Bet365 和 selenium。
我该如何解决这个问题?
编辑
有人认为这个帖子回答了我的问题
虽然我很感激你付出的努力,但灰色屏幕是我已经解决的问题,正如我提出的问题。内存不足错误是我要修复的错误。
经过几天的研究,发现把cdc_改成xyz_后,就成功打开了Bet365网站
解法:
我用记事本++打开文件chromedriver.exe,搜索并用“xyz_”替换“cdc_”并保存文件。
编辑 2021/02/06:
投注最终阻止访问此解决方案,将此行添加到将再次打开的 chromedriver 的选项中:
options.add_argument('--disable-blink-features=AutomationControlled')
在那里,他正常打开了页面。
我正在尝试使用 selenium 和 python 打开网站 https://www.bet365.com
,但失败了。在我的代码中,我遵循了这些步骤。
首先,我刚做了
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.bet365.com')
一段时间后,Bet365 更改了一些内容,执行上述操作后返回灰色屏幕。为了绕过它,我做了以下
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("window-size=1920,1080")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
browser=webdriver.Chrome(options=options,executable_path=r"chromedriver.exe")
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
browser.execute_cdp_cmd('Network.setUserAgentOverride',
{"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4240.198 Safari/537.36'})
browser.get('https://www.bet365.com')
从上周六开始,甚至是第一个脚本,returns 内存不足屏幕。由于这是第一次尝试,如果我删除 cookie 和缓存并重新启动计算机也会发生这种情况,我被引导相信问题不在我的计算机中,它加载其他页面也一样好,而不是 Chrome,它在常规浏览器中加载 Bet365 也很好,但使用 Bet365 和 selenium。
我该如何解决这个问题?
编辑
有人认为这个帖子回答了我的问题
虽然我很感激你付出的努力,但灰色屏幕是我已经解决的问题,正如我提出的问题。内存不足错误是我要修复的错误。
经过几天的研究,发现把cdc_改成xyz_后,就成功打开了Bet365网站
解法: 我用记事本++打开文件chromedriver.exe,搜索并用“xyz_”替换“cdc_”并保存文件。
编辑 2021/02/06:
投注最终阻止访问此解决方案,将此行添加到将再次打开的 chromedriver 的选项中:
options.add_argument('--disable-blink-features=AutomationControlled')
在那里,他正常打开了页面。