python 中的 webdriver.PhantomJS 超时?

Timeout for webdriver.PhantomJS in python?

我只用selenium-python.

当我使用webdriver.Firefox()时,我可以得到结果。 当我使用webdriver.PhantomJS()时,无法返回结果(脚本挂了)。

谁能帮帮我?

browser = webdriver.PhantomJS(executable_path='./lib/phantomjs/phantomjs')
url = "http://aminer.org/search/jie%20tang"
browser.get(url)

我已经重现了这个问题,也看到挂起的 PhantomJS。我尝试了多种解决方法(包括加载 "https" url 禁用网络安全;尽量不要加载图像、增加脚本和页面加载超时、更新 phantomjs 等),但没有成功工作到现在。

这里有一种不涉及硒的替代方法 - 使用 AMiner API

以下是使用 requests 获得相同搜索结果的方法:

import requests


url = 'http://storeland.ru/user/login'
api_url = 'https://api.aminer.org/api/search/people'
with requests.Session() as session:
    session.get(url)

    params = {
        'query': 'jie+tang',
        'size': '20',
        'sort': 'relevance',
        # 'offset': 20  # set offset for pagination
    }
    response = session.get(api_url, params=params)
    for item in response.json()['result']:
        print item['name']

打印(搜索结果的第一页):

Zhu Jie-Tang
Jie-Tang Zhao
...
Jie-Tang Wu
Tian Jietang