使用phantomjs代理(selenium webdriver)

chr*_*ris 2 python proxy selenium phantomjs

我正在使用phantomJS作为硒的驱动剂.我的代码是用python编写的.我按照类似问题的建议,使用以下内容:

service_args = [
    '--proxy=78.23.244.145:80',
    '--proxy-type=http',
    ]
driver = webdriver.PhantomJS(service_args=service_args)
driver.get('http://www.whatismyip.com/')
Run Code Online (Sandbox Code Playgroud)

但是,当我打印html时,几乎没有显示任何内容:

print driver.page_source
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

<html><head></head><body></body></html>
Run Code Online (Sandbox Code Playgroud)

如果我只是通常调用phantomJS,网站会像往常一样出现:

driver = webdriver.PhantomJS()
Run Code Online (Sandbox Code Playgroud)

作为参考,我已经尝试过这个列表中的一堆代理:

http://proxylist.hidemyass.com/search-1291972#listable

我想知道如何在使用代理时正确显示页面.任何帮助,将不胜感激!

SIs*_*lam 5

我怀疑你使用的代理是不正确的.我尝试了以下使用代理在Windows 8中表现良好的情况.

from selenium.webdriver.common.proxy import *
from selenium import webdriver
from selenium.webdriver.common.by import By
phantomjs_path = r"E:\Software & Tutorial\Phantom\phantomjs-2.1.1-windows\bin\phantomjs.exe"
service_args = [
    '--proxy=217.156.252.118:8080',
    '--proxy-type=https',
    ]

driver = webdriver.PhantomJS(executable_path=phantomjs_path,service_args=service_args)
driver.get("https://www.google.com.bd/?gws_rd=ssl#q=what+is+my+ip")
print driver.page_source.encode('utf-8')
print "="*70
print driver.title
driver.save_screenshot(r"E:\Software & Tutorial\Phantom\test.png")
driver.quit()
Run Code Online (Sandbox Code Playgroud)

查看保存的图像(test.png)并查看状态.如果使用ip被列入黑名单谷歌提示验证码框看到该图像!! IP已经改变!!