python - python 中的 webdriver.PhantomJS 超时?

标签 python selenium selenium-webdriver phantomjs

我只使用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 等),但到目前为止还没有使其工作。

这里有一种不涉及 Selenium 的替代方法 - 使用 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

关于python - python 中的 webdriver.PhantomJS 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623004/

相关文章:

java - PhantomJS WebDriver headless : ".click" Method has no effect

python - 具有多个 y 值的 hvplot 不会绘制

python - Pythonic 是什么意思?

python - 如何使用 Selenium 单击打开的应用程序警报

selenium - 需要使用 WebDriver 获取所有可用链接

python - 使用 selenium 和 python 检查是否存在任何警报

javascript - Chrome 扩展程序未在 Selenium JavaScript Webdriver 测试中运行

Python Linux 外壳

python - 使用 Spark 检查日志

javascript - 如何从javascript链接获取下载位置?