发布新日志

  • selenium3 webdriver启动火狐、chrome、edge、Safari浏览器的方法

    2018-10-31 08:53:15


    在selenium2中启动常见的火狐、chrome其实都比较简单,网上也一堆教程。现在selenium最新版已经是 3.x的版本了,与selenium2其实没有太大的区别,无非就是精简了一些不用的东西,然后对于浏览器的支持更好了,比如,对于高版本的firefox、chrome、edge等都可以完美支持,这样我们就不用受限于版本的问题了。


    但很多童鞋在用selenium3启动浏览器的时候都会遇到各种问题,虽然网上也有不少解决方法,但没有一个汇总的,而且解决方法也太过于复杂,所以这次我就总结一下在python中使用selenium3启动常用浏览器的方法。


    前提

    安装好python3,并配置好环境变量


    selenium3 webdriver启动火狐浏览器

    1、选择对应的Mozilla GeckoDriver下载,地址:https://github.com/mozilla/geckodriver/releases

    2、把压缩包里的exe文件放到python的根目录里

    3、安装最新版的火狐,必须高于48版本

    4、运行代码启动

    from selenium import webdriver
    
    #方式1:直接启动浏览器
    driver = webdriver.Firefox()
    '''
    方式2:
    通过指定profile来启动浏览器
    好处就是启动浏览器是带着咱们配置好的设置的
    查看profile的文件路径方法为:
    火狐菜单>帮助>故障排除信息>显示文件夹
    '''
    #定义profile文件路径
    profile_ff = "你实际的profile文件的全路径,注意转义字符"
    #指定使用该profile
    fp = webdriver.FirefoxProfile(profile_ff)
    #启动浏览器时加载指定的profile
    driver = webdriver.Firefox(fp)
    

    小提示:如果不想让火狐自动升级,可以做如下改动:进入火狐安装目录下的defaults下的pref,修改channel-prefs.js,内容最终改为:pref("app.update.channel", "default");




    selenium3 webdriver启动chrome浏览器

    1、选择对应的Google Chrome Driver下载,地址:https://sites.google.com/a/chromium.org/chromedriver/downloads

    2、把压缩包里的exe文件放到python的根目录里

    3、安装最新版的chrome

    4、运行代码启动

    from selenium import webdriver
    
    #方式1:直接启动浏览器
    driver = webdriver.Chrome()
    #方式2:chrome的profile,浏览器里输入chrome://version/,查看自己的“个人资料路径”
    profile_chrome = '--user-data-dir=自己chrome profile的全路径'
    ption=webdriver.ChromeOptions()
    option.add_argument(profile_chrome)
    driver=webdriver.Chrome(chrome_options=option)


    selenium3 webdriver启动edge浏览器

    1、先查看自己电脑上edge的版本号(html的)

    2、然后下载对应版本的Microsoft Edge Driver,地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

    3、把exe放到python根目录下

    4、写代码运行

    from selenium import webdriver
    
    driver = webdriver.Edge()


    selenium3 webdriver启动Safari浏览器

    简单到怀疑人生,直接写代码运行

    from selenium import webdriver
    
    driver = webdriver.Safari()

  • 对于新旧技术的争论,我很low的想法

    2018-10-31 08:52:49


    身处IT领域不可避免的会面对新旧技术的迭代更新,自然也少不了新旧技术谁好谁坏的争论。因为最近自己也遇到了新旧技术的“战争”,所以顺道说说自己的看法,当然,我的看法很low。

    效率 or 可靠性?

    我们经常会听到这样的言论,新技术可以提升效率,包括我自己也这么说。不论是新技术还是老技术不可否认的是都可以提升效率,这点毋庸置疑。但我想说的是效率有衡量标准吗?你别忘了人的**是无限的。当你提升了1天,就想让你提升1小时,提升1分钟,即使你提升到了1秒还是不够,希望你提升到立刻马上!明白我的意思吗?就是你根本没有一个靠谱的衡量标准或者数据化的衡量标准,因为都在变化。

    那可靠性呢?说实话我更看重可靠性,至于效率,你懂的(邪恶的笑了)。在企业考核你的是什么?当然很多,但最重要的一点就是可靠性!!!你效率在高但可靠性不行会死的很难看(当过leader的都能明白)。另外,可靠性是可以数据化衡量的,一年就365天(排除闰年,别和我较真),一天就24小时,所以你的系统可靠了多久都是真真正正的数据在那,比起效率更容易衡量。

    可能大家有点懵逼了,你丫在说啥呢?这和新老技术又毛线关系啊。嗯,是有点毛线关系。概率上来看老技术会比新技术靠谱一点。为啥呢?

    举例1:你会发现汽车的电子化越来越多,同时对比以前的机械化带来的小问题也随之增多了。虽然新技术带来了更多效率和科技感,但可靠性并没有大幅增长,甚至有些新技术反而让作为一个人应该有的能力退化了,唉

    举例2:为啥现在的电器一过保修期就坏(各种新技术科技感)?为啥N年前的电器却始终一直好好的?

    创新 or 退步?

    想象一个场景,假设有一天你睡在床上,不用起床就有人给你送饭、喂你饭、帮你换洗衣服,帮你。。。。。此处省略N个字,爽不爽就问你?爽吧?那请问,你和一个废人有毛区别?我记得李诞在奇葩说上也说过,有些进步真的好吗?有些进步真的是进步吗?也许有些所谓的进步可能让我们已经失去了人本有的特性,和机器越来越像了。

    合适的才是最好的

    看到这里肯定会有人大骂,你说的都是扯淡的,新技术就是好,能帮助我这个那个,效率提升啥的巴拉巴拉。。。。嗯,没有错,因为新旧也是在不断交互迭代更新中的,也没有绝对。而我想表达的是,新技术不一定是最合适的,老技术也不一定是最low的,不要看不起用老技术的,也不要高抬使用新技术的,俗话说,合适才是最好的,最好的不一定都合适。

    最后再来一句,不论是新技术还是老技术,更重要的是这些技术背后透露的思想

Open Toolbar