首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

用 Python 作浏览器自动化操作应该选那个模块?

  •  
  •   meisky6666 · 2017-11-02 08:52:33 +08:00 · 3210 次点击
    这是一个创建于 719 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 现在需要打开 chrome,填扩展的地址打开扩展的页面,再分析扩展的页面信息
    • 用 selenium 但是打开的是没有扩展的
    • pywinauto 好像不能操作页面?
    • 还有哪些可以用的?
    12 回复  |  直到 2017-11-02 18:24:38 +08:00
        1
    yanzixuan   2017-11-02 09:08:53 +08:00
    谁说 selenium 没扩展?可以安装好所有东西后,在启动 selenium 的时候制定载入配置的路径啊。
        2
    lovestudykid   2017-11-02 10:25:17 +08:00
    options = webdriver.ChromeOptions()
    options.add_extension(EXT_PATH)
        3
    wq2016   2017-11-02 10:26:38 +08:00
    selenium
        4
    meisky6666   2017-11-02 10:54:36 +08:00
    @yanzixuan 我需要扩展有数据,不是全新安装的扩展,chrome 是账号登录的,启动的时候加了配置目录也没用啊
        5
    rffan   2017-11-02 10:55:22 +08:00
    selenium 耐操好用,打开谷歌的时候截图只会截取显示的部分不会截取整张网页,略坑,建议用 phantomjs,会截取整张网页。其他的都好。用过其他的,都没这玩意好用。
        6
    meisky6666   2017-11-02 10:56:31 +08:00
    @lovestudykid 那个扩展是我用文件夹直接拖进去的,要怎么加?
        7
    meisky6666   2017-11-02 11:12:17 +08:00
    @rffan 暂时想到的是脚本精灵+bs4,ui 自动化 py 还是不好用
        8
    meisky6666   2017-11-02 11:13:44 +08:00
    @meisky6666 按键精灵,打错了
        9
    iyaozhen   2017-11-02 11:23:54 +08:00 via Android
    楼主这需求有点奇特呀。从正常测试的角度来说打开就应该是个新的浏览器,不然问题更多。
        10
    zbl430   2017-11-02 11:39:15 +08:00
        11
    meisky6666   2017-11-02 11:42:08 +08:00
    @iyaozhen 因为有个爬虫扩展,之前就制定了很多网站的规则,效果很好,所以想直接收集上面的数据,自己实现这个爬虫有点难度
        12
    xmcp   2017-11-02 18:24:38 +08:00
    selenium 可以呀,我就用 selenium 在 Travis-CI 上做 chrome 扩展的集成测试,一点问题都没有。

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    opt=Options()
    opt.add_argument('load-extension=%s'%'path/to/your/extension')
    opt.add_argument('--user-agent=my_user_agent')
    b=webdriver.Chrome(chrome_options=opt)

    把扩展根目录放到 path/to/your/extension,然后就能正常加载了。

    你的扩展可以用 navigator.userAgent 判断当前环境,初始化数据什么的就可以顺便做到了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2010 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 00:12 · PVG 08:12 · LAX 17:12 · JFK 20:12
    ♥ Do have faith in what you're doing.