美文网首页我爱编程
selenium安装问题总结

selenium安装问题总结

作者: Cindy_yu | 来源:发表于2017-03-06 19:53 被阅读1348次

           网上、书上,有太多关于selenium安装的介绍,按照他们的教学步骤,一步一步地来安装,肯定是不会成功的!就不多吐槽了。反正从一个坑跳到一个坑,再跳到另一个坑时,会锻炼你的弹跳能力,继而跳出地面。就不像其他文章一样,千篇一律的介绍怎么安装了。悉数一下安装过程中遇到的一些“坑”,下次再安装的时候,就有解决的办法,也可以扶起一些过马路时,摔倒的小伙伴们~

          在简单使用了selenium ide工具后,便迫不及待想要搭建起selenium的测试环境,基于Java语言。因为电脑中有现成的Java环境,直接下载selenium包,导入到程序中即可。按照网上某教程,我安装的selenium-java包是2.44版本的。下了一个1.0.3版本的seleniumRC包。像网上一样,写了下面一段用于搜索百度的代码:

    importorg.openqa.selenium.By;

    importorg.openqa.selenium.WebDriver;

    importorg.openqa.selenium.firefox.FirefoxDriver;

    publicclasstest {

             publicstaticvoidmain(String[]args) {

                 System.out.println("start firefox browser...");

                System.out.println("222222");

                WebDriverdriver=newFirefoxDriver();

                 System.out.println("33333");

                 driver.get("https://www.baidu.com/");

                 System.out.println("444444.");

                 driver.findElement(By.id("kw")).sendKeys("selenium java");

                 System.out.println("555555.");

                  driver.findElement(By.id("su")).click();

                  System.out.println("66666.");

                  System.out.println("start firefox browser succeed...");

                  driver.close();

         }

    }                                                                                                                                                                                        

    然后报出了这样的错误:

    Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: VISTA

    是因为火狐浏览器不是默认安装在C盘,需要只指定安装目录,加上这样一句代码(有的时候,安装在C盘,也要加上这样一句话):

    System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");//根据自己火狐应用程序的位置而定

    WebDriver driver = new FirefoxDriver();

    加上这样一句代码以后,可以打开火狐浏览器了,但是一直是一个空白的页面,控制台报出了下面的错误:

    Exception in thread "main"Java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, seehttp://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded fromhttp://code.google.com/p/chromedriver/downloads/list

    这是因为火狐的版本升级太快,跟selenium包不兼容,尝试着找最新的selenium包和降低火狐浏览器的版本,各种各样的打log调试,最终把电脑环境装的乱七八糟,还是以失败告终。在解决这个问题的时候,我知道只要安装selenium-server-standalone这一个jar包,其他的包都不用安装了。下载了3.0.1版本的这个包,也没什么用,不过版本高了很多。也保留了高版本的selenium-Java包。

    感到很烦躁以后,换了谷歌浏览器,就是把WebDriverdriver=newFirefoxDriver();这句代码替换成WebDriverdriver=newChromeDriver();在程序中导入ChromeDriver包。System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");这里要指定谷歌浏览器的安装地址。还是报一样的错误,浏览器没有打开,在网上查看了很多资料,需要下载chromedriver.exe,并把它放在chrome.exe目录下,然后把该文件的路径配置到path环境变量中。同时,也把这句代码System.setProperty("webdriver.firefox.bin", "谷歌浏览器应用程序所在位置");改成这句System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver_x64.exe");(像我这样手把手说的,还有谁。)


    终于,浏览器打开了,但是提示使用的不是支持的命令:

    没有找到解决的办法,快要放弃了,个人觉得这次不是因为版本的问题,可能是安全证书方面的问题。看见了Python的解决办法,但自己太薄弱,太缺少学以致用的能力。


    又去转战火狐,偶然见看见geckodriver.exe驱动,很激动的按照谷歌的方法配置起来。


    结果……………………………………………………………………………………………………………………就这么运行出来了。虽然还没有吃透geckodriver这个小玩意,但是看见所有的log都准确的打印出来,感觉 ……………… ……………………………………………………………………………………………非常棒!


    一小勺鸡汤:第一:必须要具备一些知识储备,这样才能看懂别人的安装介绍,才能知道自己的问题出在哪里,在改代码或者灵活变动的时候,会知道有哪些地方也要一起改,不然更加举步维艰。没有任何一个教程可以写详细每一种情况。第二:虽然,有些问题,你没有解决,但是在解决问题的同时,看了很多周边的知识,会对你遇到的下一个问题有帮助,就像没有任何一个经历是多余的一样,善于利用,也没有任何一件事情是徒劳的。(如果没有谷歌安装的经历,在看见火狐的geckodriver驱动时,就没有很强烈的嗅觉。)第三:必须要再进一步的扩展宽度,才能举一反三,学以致用,达到你想要的高度。

    相关文章

      网友评论

        本文标题:selenium安装问题总结

        本文链接:https://www.haomeiwen.com/subject/preugttx.html