发现以前修改 Phantomjs 的头部代码都不能用,辛苦找的,记录一下帮助更多人(注意 python 缩进)
2016 年 11 月 6 号测试有效(python 2.7 Phantomjs 2.11)
这是一个代码区块。
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
driver=webdriver.PhantomJS(executable_path='存放路径\phantomjs.exe')
desired_capabilities= DesiredCapabilities.PHANTOMJS.copy()
headers = {'Accept': '*/*',
'Accept-Language': 'en-US,en;q=0.8',
'Cache-Control': 'max-age=0',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',#这种修改 UA 也有效
'Connection': 'keep-alive'
'Referer':'http://www.baidu.com/'
}
for key, value in headers.iteritems():
desired_capabilities['phantomjs.page.customHeaders.{}'.format(key)] = value
desired_capabilities['phantomjs.page.customHeaders.User-Agent'] ='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
driver= webdriver.PhantomJS(desired_capabilities=desired_capabilities)
driver.get("http://www.myip.cn/judge.php")
print driver.page_source
1
terence4444 2017-02-07 23:39:54 +08:00
调 2 次 webdriver.PhantomJS 是不是有点不太对?
driver=webdriver.PhantomJS(executable_path='存放路径\phantomjs.exe', desired_capabilities=desired_capabilities) 怎么样? |
2
imcocc OP @terence4444
忘了当时怎么想的了,当时没报错。我也觉得可以缩写成你写的, 你测试一下可用不 |
3
terence4444 2017-02-08 15:10:42 +08:00 via iPhone
@imcocc 好的 回头我试一下再来
|
4
terence4444 2017-02-08 22:47:54 +08:00
@imcocc 试了一下你的代码会报错,又试了一下我的,虽然没报错但看不出来有没有用。目前没有指定 header 的页面,现在正在搞别的东西,等有空了搞一下试试,感谢分享。
|
5
imcocc OP @terence44
访问 http://www.myip.cn/judge.php 查看 headers 的值。 搜索了一下,如你所说 。 第三行 driver=webdriver.PhantomJS(executable_path='存放路径\phantomjs.exe') 删除 倒数第三行修改为 driver=webdriver.PhantomJS(executable_path='存放路径\phantomjs.exe', desired_capabilities=desired_capabilities) |
6
tanywei 2017-03-17 17:27:38 +08:00
remote 的用不了吧?
|