Selenium Network error 或 Access Denied 错误

来源:互联网 发布:我的世界掉落优化mod 编辑:程序博客网 时间:2024/06/06 18:15

最近在捣鼓Selenium 2.X版本的Webdriver. 在公司初始化一个Firefox 的Webdriver的时候就一直报错,要不就是Network error,要不就是Access Denied. 但是回家在自己电脑上就运行的很正常。在网上搜索了很多内容,也没有解决的办法,很多方法无非就是修改一下代理或者什么的。但是我都统一在电脑上试过一遍都还是没法通过。今天偶然用Administrator用户登录,然后运行了一下,通过了,然后重新设置了下代理就可以访问外部网页了。


分析了下,其实我先前遇到的问题和能否访问外部网页完全是两码事,通过跟踪了Firefox Webdriver的初始化代码,了解了下其大概过程,

1. 在本机启动一个firefox, 同时指定一个port作为firefox webdirver 的Port,然后其实相当于webDriver运行在本机相当于一个虚拟的服务器。

端口为指定的端口。

2. 客户(写代码的)通过代码向这个虚拟的服务器发送命令(用户需要测试的操作),然后该虚拟服务器通过解析用户所发的一些操作指令

直接转化为firefox的内部命令进行操作。


所以浏览器里面的代理之类的东西都是浏览器访问外部网页的时候需要通过代理去访问外部网页,而用户通过代码去向该虚拟服务器发送指令的时候其实和浏览器上的代理是没有关系的,用到的只是简单的socket 通信。


总结:

用的是win8,通过更换Administrator用户可以实现访问本地的虚拟服务器,可能还是更用户的一些权限设置有关系。当然,我也通过写了一个简单的C-S模式的socket通信测试代码,在非Administrator用户中也运行OK,所以到底是怎么回事,有待进一步研究和测试。

原创粉丝点击