selenium Session ID is null. Using WebDriver after calling quit() 添加java版本代理

本文分享了在服务器上部署基于Selenium的爬虫时遇到的代理配置问题及解决过程,详细介绍了如何正确设置代理以避免被目标网站封锁,包括添加代理的具体代码实现。

在服务器上面布置了一个基于selenium的爬虫,周五打开,下周一的时候发现数据在周六就断了,当时我也添加了代理,

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
Proxy proxy = new Proxy();
proxy.setHttpProxy(host.getHostName() + “:” + host.getPort());
capabilities.setCapability(CapabilityType.PROXY, proxy);
driver = new ChromeDriver(capabilities);

当时为了验证是否成功添加代理,还在本地验证了添加了代理的具体ip。

我以为就万事大吉,但是当周一看到爆出来的错误的时候一脸懵逼

org.openqa.selenium.remote.SessionNotFoundException: Session ID is null. Using WebDriver after calling quit()?
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:03:00'
System info: host: 'N/A', ip: 'N/A', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-693.11.1.el7.x86_64', java.version: '1.8.0_151'
Driver info: driver.version: RemoteWebDriver

一开始查找说是版本问题,但是我这个版本对应没有变动过,不会正在使用就会版本不再对应,所以我把这个怀疑先放置,去查找了其他的结局方法, 我在查找的时候发现 driver = new ChromeDriver(capabilities);是这个报的错,我又开始查找这个方向,现在我都忘了是怎么说的,但是也找了好几篇文章,最后都不行。

后来我访问百度,查找IP,发现IP还是本地地址,MD,添加代理并没有成功,我就又开始了查找JAVA版本如何给selenium添加代理,大部分都是python版本的额,但是我最后还是找到了

String proxyIpAndPort = host.getHostName() +":" + host.getPort();
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        Proxy proxy = new Proxy();
        proxy.setHttpProxy(proxyIpAndPort).setFtpProxy(proxyIpAndPort).setSslProxy(proxyIpAndPort);
        capabilities.setCapability(CapabilityType.ForSeleniumServer.AVOIDING_PROXY, true);
        capabilities.setCapability(CapabilityType.ForSeleniumServer.ONLY_PROXYING_SELENIUM_TRAFFIC, true);
        capabilities.setCapability(CapabilityType.PROXY, proxy);
        WebDriver  driver = new ChromeDriver(capabilities);;

完美,添加代理成功!可是官网加上了验证码,添加代理成功后也会出现失败情况,好心累!

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值