如何取消谷歌浏览器对iframe类禁止跨域访问的办法【支持跨域网页访问】【ie浏览器默认是可以访问的】

解决访问来自文章:https://docs.uibot.com.cn/guide/

有时候,在一个网页当中,会通过引用的方式,或者iframe嵌套的方式,在其中内嵌一个其他域名下的网页。对于这种情况,我们称为“跨域网页”。在这种情况下,出于安全的考虑,不同的浏览器会有不同的策略。我们来实际体验一下:

打开Chrome浏览器,浏览http://mail.qq.com,即QQ邮箱页面,切换到QQ登录,然后按F12键,打开Chrome的开发者模式,按Ctrl+Shfit+C组合键,进入Chrome的元素查看功能,并将鼠标移动到“QQ登录”区域,左键点击后,我们会看到如下图的提示:

可以很清楚的看到,当前网页的域名是mail.qq.com,但在其中又嵌入了一个域名为xui.ptlogin2.qq.com的网页。两个域名不完全一样,这就是典型的跨域网页。

在这种情况下,IE浏览器并不会对跨域做特殊处理。而Chrome浏览器出于安全因素考虑,会禁止对iframe下的页面进行访问,包括元素的选取、执行JS等操作。也就是说,我们无法选取QQ登录中的界面元素,包括登录QQ号、QQ密码等,更无法自动化操作。

怎么处理这种情况呢?要么选择用IE浏览器,要么通过启动参数命令,来关闭Chrome的安全设置。下文叙述Chrome的安全设置关闭方法,请注意,在关闭之前,需要先选择一个临时目录用于存放Chrome的用户数据,假设选为D:\temp

右键点击Google Chrome图标,选择 属性->快捷方式,在“目标”一栏填入启动参数,具体格式如下:<Chrome安装路径> --disable-web-security --user-data-dir=用户数据目录。比如,我们的Chrome安装在C:\Program Files (x86)\Google\Chrome\Application\chrome.exe下,用户数据目录为D:\temp,那么套用格式,我们在Chrome目标窗口应填入C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --disable-web-security --user-data-dir=D:\temp,如下图:

在经过以上操作后,我们再打开Chrome,会看到Chrome地址栏会有如下的提示,并且安装的扩展程序也消失不见了。不要着急,这是因为Chrome的用户数据目录发生了变化,只要重新安装UiBot的Chrome扩展程序,即可自动化操作。

经过以上设置,Chrome即可支持跨域访问。

猜你喜欢

转载自blog.csdn.net/weixin_43343144/article/details/89445682