V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
meisky6666
V2EX  ›  Python

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

  •  
  •   meisky6666 · 2017-11-02 08:52:33 +08:00 · 5070 次点击
    这是一个创建于 2560 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 现在需要打开 chrome,填扩展的地址打开扩展的页面,再分析扩展的页面信息
    • 用 selenium 但是打开的是没有扩展的
    • pywinauto 好像不能操作页面?
    • 还有哪些可以用的?
    12 条回复    2017-11-02 18:24:38 +08:00
    yanzixuan
        1
    yanzixuan  
       2017-11-02 09:08:53 +08:00
    谁说 selenium 没扩展?可以安装好所有东西后,在启动 selenium 的时候制定载入配置的路径啊。
    lovestudykid
        2
    lovestudykid  
       2017-11-02 10:25:17 +08:00
    options = webdriver.ChromeOptions()
    options.add_extension(EXT_PATH)
    wq2016
        3
    wq2016  
       2017-11-02 10:26:38 +08:00
    selenium
    meisky6666
        4
    meisky6666  
    OP
       2017-11-02 10:54:36 +08:00
    @yanzixuan 我需要扩展有数据,不是全新安装的扩展,chrome 是账号登录的,启动的时候加了配置目录也没用啊
    rffan
        5
    rffan  
       2017-11-02 10:55:22 +08:00
    selenium 耐操好用,打开谷歌的时候截图只会截取显示的部分不会截取整张网页,略坑,建议用 phantomjs,会截取整张网页。其他的都好。用过其他的,都没这玩意好用。
    meisky6666
        6
    meisky6666  
    OP
       2017-11-02 10:56:31 +08:00
    @lovestudykid 那个扩展是我用文件夹直接拖进去的,要怎么加?
    meisky6666
        7
    meisky6666  
    OP
       2017-11-02 11:12:17 +08:00
    @rffan 暂时想到的是脚本精灵+bs4,ui 自动化 py 还是不好用
    meisky6666
        8
    meisky6666  
    OP
       2017-11-02 11:13:44 +08:00
    @meisky6666 按键精灵,打错了
    iyaozhen
        9
    iyaozhen  
       2017-11-02 11:23:54 +08:00 via Android
    楼主这需求有点奇特呀。从正常测试的角度来说打开就应该是个新的浏览器,不然问题更多。
    zbl430
        10
    zbl430  
       2017-11-02 11:39:15 +08:00
    meisky6666
        11
    meisky6666  
    OP
       2017-11-02 11:42:08 +08:00
    @iyaozhen 因为有个爬虫扩展,之前就制定了很多网站的规则,效果很好,所以想直接收集上面的数据,自己实现这个爬虫有点难度
    xmcp
        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 判断当前环境,初始化数据什么的就可以顺便做到了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1304 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:34 · PVG 07:34 · LAX 15:34 · JFK 18:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.