设置py2app以运行selenium

时间:2016-02-19 17:00:13

标签: python selenium packages py2app

我遇到问题,让py2app与我使用Selenium的python webscraper程序一起工作。

我知道我必须在包装中加入硒,但没有任何效果。我无法看到错误消息,因为.app不会打开。

我的python fie中的导入看起来像这样。

#! python3
import urllib
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import pdb

我的setup.py文件看起来像这样

    """
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['highlights.py']
DATA_FILES = ['doi_list.txt']
OPTIONS = {'argv_emulation': True
           'packages': ['urllib', 'pdb', 'selenium'] 
}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

我跟随了Marina Mele的py2app tutorial,但她只是刷过包裹,我不知道该怎么做。我是编程新手。

你知道我做错了什么吗?

2 个答案:

答案 0 :(得分:0)

而不是'包',请尝试使用' includes'。 (适用于py2app v0.13)

OPTIONS = {
        'argv_emulation': True,
        'includes': ['httplib2', 'requests', 'selenium']
        }

PS:确保包含逗号以分隔列表条目

答案 1 :(得分:0)

也许你可以试试这个:

driver_path = 'xxxx/chromedriver'  # path of your chromedriver
DATA_FILES = ['doi_list.txt', driver_path]

它对我有用。

并确保app/Contents/Resources/chromedriver具有执行权限。

右键单击您的应用,选择"显示包装内容"。