zoukankan      html  css  js  c++  java
  • Python之selenium设置(mac版)

    有段时间没用过selenium的模块了,新的mac电脑买来还一直没机会用这个模块,前面在恶补linux相关的操作,感觉学的云里雾里。

    今天想写个新的脚本,原来写的抢购代码完善下,所以继续拿其了selenium来了,都怪我js学了个渣,本来感觉用js破解也可以。

    首相安装selenium插件,用pip3 install 下载的插件比较老,我通过pycharm软件里面手动把插件跟新了一下。

    首相说一下关于Chrome的配置,我的Chrome应该是通过官方下载软件后,双击安装的。(默认情况下应该给你环境变量也装了chromedriver,位置再/usr/local/bin/chromedriver)

    其实你要是可以启动的话,就不用管了,我在没有办法,因为不更换这个chromedriver我启动软件就提示版本低。当时还还以为是sleenium版本低,所以还取升级了它。

    没办法,下载新版的chromedriver

    https://sites.google.com/a/chromium.org/chromedriver/(需翻墙)

    下载解压后,网上很多版本说需要把这个文件移动到/usr/bin下面,我其实也试了,根本权限不够,换了root还是权限不够,其实我也看了书,(有推荐放在一个自定义的文件夹,然后通过修改.bash_profile添加自定义的路径到环境变量,总得来说我觉的比较麻烦,而且要是不能用,我强迫症发作还要把文件修改回来)

    刚好通过了which 找到了我电脑里面已经有chromedriver添加到环境变量/usr/local/bin/

    简单的备份下 sudo mv /usr/local/bin/chromedriver chromedriver.back

    然后把文件拷贝过去mv ~/Downloads/chromedriver /usr/local/bin/

    然后就万事大吉了。

    其实环境变量还是非常重要的一块资料,建议了解环境变量后进行设备会带来更多的理解。

    由于刚开始Chrom搞不定,就想着firefox来救急使用下,firefox相对我还是比较陌生的,以前一直用搜狗浏览器,用了firefox搜狗就是流氓。

    firefox还是比较简单的:

    安装Geckodriver

    由于我们自动化脚本调用Firefox,所以需要调用Geckodriver来驱动火狐浏览器,同样如果安装的为谷歌浏览器也需要chromedriver,谷歌浏览器和驱动版本有个对应表,

    官网地址:https://github.com/mozilla/geckodriver/releases

    下载你觉的对应的版本

    最后需要将解压后的移到/usr/local/bin目录下,所以:mv geckodriver /usr/local/bin   (其实我觉的无所谓,因为这段我是复制)

    当没有添加到环境变量可以在初始化的时候添加:

    from selenium.webdriver.firefox.options import Options
    options = Options()
    # options.headless = True

    driver = webdriver.Firefox(executable_path="./gdriver/geckodriver", options=options)

    其中executtable_path你可以填写路径,建议填写相对路径,这样到了服务器上面直接也可以用,(为什么我不推荐把文件写到环境变量,就是因为你不写的话,到时候这个安装包复制到哪里,哪里就可以用)
    还有一个options是我当时测试无头浏览器使用的。


    最后:firefox跟Chorm其实里面很多设置还是区别很多的,很多问题百度根本很少有答案,特别是firefox,我的英文很烂,就算google了国外的资料很多时候看不懂。
    百度相对还是Chrom的资料比较多,后面我也只能还是用Chrom。

    后续我还将调试服务器的安装,如果非常简单就不写博客了,稍微有点复杂就写下,这玩意用的少,年纪大了,搞不好明天就忘记了。

  • 相关阅读:
    javascript 获取鼠标在盒子中的坐标
    jquery中clientY, pageY, screenY的区别,最后三张图一目了然
    javascript 小清新颜色翻页效果
    javascript 缓动返回顶部案例
    原生js轮播图实现
    javascript Math对象
    javascript 获取节点元素的封装
    javascript 转换大小写字母
    2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1010
    2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1009
  • 原文地址:https://www.cnblogs.com/sidianok/p/11773060.html
Copyright © 2011-2022 走看看