有没有办法在谷歌的Chrome浏览器上禁用同源策略?


当前回答

在Windows中:

创建快捷方式并设置目标:

“C:\Program Files\Google\Chrome\Application\Chrome.exe”--禁用站点隔离测试--禁用web安全--用户数据dir=“C:\ChromeDevSession”

其他回答

对于Selenium Webdriver,在这种情况下,您可以使用适当的参数(或“开关”)让Selenium启动Chrome。

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })

对于Windows用户:

在我看来,这里接受的解决方案的问题是,如果您已经打开了Chrome并尝试运行Chrome.exe--disable-websecurity命令,它将无法工作。

然而,在研究这一问题时,我在超级用户网站上看到了一篇帖子,“是否可以同时运行具有和不具有网络安全性的Chrome?”?。

基本上,你需要添加到命令中,然后像这样运行它(或者用它创建一个快捷方式,然后运行一个新的Chrome实例)

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

它将打开一个新的“不安全”的Chrome实例,同时保持其他“安全”的浏览器实例打开并正常工作。

这是通过在C:下创建一个新的文件夹/目录“Chrome-dev-session”来实现的,告诉这个新的Chrome实例使用该文件夹/目录作为其用户和会话数据。因此,新实例与您的“正常”Chrome数据分离,您的书签和其他保存的数据在此实例中不可用。

注意:只有使用此方法打开的Chrome的第一个“新”实例才会生效,因此它只是第一个新Chrome窗口中的第一个选项卡,才会生效。如果您关闭了该实例,您可以再次使用相同的命令,例如,指向本地应用程序或类似应用程序的任何书签仍将存在,因为它指向同一文件夹。

如果要运行多个“不安全”实例,每个实例都需要自己的文件夹/目录,因此需要使用不同的文件夹名称再次运行命令。然而,这也意味着每个不安全的实例都将与其他实例分离,因此任何书签或其他保存的用户或会话数据在实例之间都不可用。

在Windows PC上,使用较旧版本的Chrome,该命令将适用于所有人。我把我的Chrome降到了26版,而且效果不错。

在Windows中:

创建快捷方式并设置目标:

“C:\Program Files\Google\Chrome\Application\Chrome.exe”--禁用站点隔离测试--禁用web安全--用户数据dir=“C:\ChromeDevSession”

我有时会使用这个方法,将本地主机前端站点发布到本地主机后端API(例如,React到旧的.NET API)。我在Windows 10桌面上创建了一个单独的快捷方式,这样它就不会用于正常浏览,只用于本地调试。我执行了以下操作:-

右键单击桌面,添加新快捷方式将目标添加为“[PATH_TO_CHROME]\CHROME.exe”--禁用web安全单击“确定”。

这个浏览器加载时,你会收到一个警告,说它不安全,只需注意你在它上的浏览器。我倾向于在桌面上重命名这个新的快捷方式,用大写字母表示,并将其从我的其他图标上移开,因此它不会与普通的Chrome混淆。

希望这有帮助!