本篇文章给大家谈谈未捕获到的DOMException:在页面中列出iframe时,阻止了源为“http://localhost:8080”的框架访问跨域框架,同时本文还将给你拓展Django不断地将U
本篇文章给大家谈谈未捕获到的DOMException:在页面中列出iframe时,阻止了源为“ http:// localhost:8080”的框架访问跨域框架,同时本文还将给你拓展Django不断地将URL从http:// localhost /更改为http://127.0.0.1:8080/、eclipse 启动 tomcat 访问 http://localhost:8080 报 404 错误、eclipse_jee中启动tomcat无法访问http://localhost:8080/、eclipse启动tomcat, http://localhost:8080无法访问等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- 未捕获到的DOMException:在页面中列出iframe时,阻止了源为“ http:// localhost:8080”的框架访问跨域框架
- Django不断地将URL从http:// localhost /更改为http://127.0.0.1:8080/
- eclipse 启动 tomcat 访问 http://localhost:8080 报 404 错误
- eclipse_jee中启动tomcat无法访问http://localhost:8080/
- eclipse启动tomcat, http://localhost:8080无法访问
未捕获到的DOMException:在页面中列出iframe时,阻止了源为“ http:// localhost:8080”的框架访问跨域框架
我试图列出iframe页面中所有s 的名称,以便可以通过Selenium访问它们。
问题在于iframe每次更改的名称,因此我需要遍历所有这些更改。
我正进入(状态:
未捕获到的DOMException:阻止了起源为“ http:// localhost:8080 ”的框架访问跨域框架。
当我尝试使用以下方法遍历它们时出错:
for (var f = 0; f < window.frames.length; f++) { console.log(window.frames[f].name)}
有没有办法以其他方式获得名称iframe?
答案1
小编典典此错误消息…
Uncaught DOMException: Blocked a frame with origin "http://localhost:8080" from accessing a cross-origin frame.
…意味着WebDriver实例被阻止访问跨域框架。
同源政策
同源策略:同源策略限制了从一个来源加载的文档或脚本如何与另一个来源的资源进行交互。它是隔离潜在恶意文档的关键安全机制。
跨域资源共享(CORS)
跨域资源共享(CORS):跨域资源共享(CORS)是一种机制,该机制使用其他 HTTP标头来告诉浏览器客户端让在一个源(域)运行的 AUT(被测应用程序)具有访问权限从不同来源的服务器中选择资源。一个Web应用程序进行跨域HTTP请求时,它要求具有不同的原点(资源domain,protocol和port)比它自己的起源。
起源的例子
这是URL的来源比较示例 http://store.company.com/dir/page.html
URL Outcome Reasonhttp://store.company.com/dir2/other.html Successhttp://store.company.com/dir/inner/another.html Successhttps://store.company.com/secure.html Failure Different protocolhttp://store.company.com:81/dir/etc.html Failure Different porthttp://news.company.com/dir/other.html Failure Different host
什么地方出了错
当您尝试遍历frames脚本/程序时,尝试
如果两个网页的协议,端口(如果指定了一个)和主机相同,则两个页面的来源相同。您有时会称其为“ "scheme/host/port tuple"at”
(“元组”是一组三个组成一个整体的组件)。或许协议,域名,主机名和端口,当你想访问所需的框架必须是同你同一个域。
解
所述AUT可能包含众多帧 / 内部框架和其中一些可能只有在某些加载的JavaScript / Ajax的已完成,其中作为它们中的一些可以具有样式属性集为显示:无; 或可视性为隐藏。当然,不需要与所有人互动。因此,这将是识别和相应切换属性的更好方法<iframe>
。您可以<iframe>
通过以下方式切换到:
- Frame Name
- Frame ID
- Frame Index
- WebElement
按照最佳实践,当您打算切换到框架时,请按照下面的参考为frameToBeAvailableAndSwitchToIt诱导WebDriverWait。