使用Splinter在PhantomJS中打开HTTPS页面失败[英] Failing to open HTTPS pages in PhantomJS using Splinter

问题描述

我正在尝试使用 PhantomJS 编写刮板,但即使是 morph.io 文档中的示例也无法正常工作.我猜问题是"https",我用http测试了它,它正在工作.你能给我一个解决方案吗?我用firefox对其进行了测试,它可以工作.

from splinter import Browser

with Browser("phantomjs") as browser:
    # Optional, but make sure large enough that responsive pages don't
    # hide elements on you...
    browser.driver.set_window_size(1280, 1024)

    # Open the page you want...
    browser.visit("https://morph.io")

    # submit the search form...
    browser.fill("q", "parliament")
    button = browser.find_by_css("button[type='submit']")
    button.click()

    # Scrape the data you like...
    links = browser.find_by_css(".search-results .list-group-item")
    for link in links:
        print link['href']

PhantomJS 无法处理 https 网址?

推荐答案

Splinter 使用 Python 的 Selenium WebDriver 绑定(示例)在引擎盖下,因此您可以像这样简单地传递必要的选项:

with Browser("phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) as browser:
    ...

请参阅 PhantomJS 无法打开 HTTPS 站点,了解为什么这些选项可能是必要的.查看 PhantomJS 命令行界面 了解更多选项.

本文地址:https://www.itbaoku.cn/post/1740154.html