有段时间没用过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。
后续我还将调试服务器的安装,如果非常简单就不写博客了,稍微有点复杂就写下,这玩意用的少,年纪大了,搞不好明天就忘记了。