zoukankan      html  css  js  c++  java
  • ubuntu下安装selenium2.0 环境

    参考:http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html

    ubuntu 安装过程:

    1、安装:setuptools

    $ apt-get install python-setuptools

    2、安装pip

    1)源码安装方式(cd进python目录下)如下:

    $ tar -zxvf pip-1.4.1.tar.gz

    $ cd pip-1.4.1/ 

    $ python setup.py install

    2)这里直接使用apt-get安装:

    $sudo apt-get install python-pip

    参考:http://www.pip-installer.org/en/latest/installing.html

      注意,通过查看pip官网,V1.5.1以上版本,可以不安装python-setuptools

      安装后,可通过pip --version查看一下已安装的版本及安装路径。

    3、安装selenium

    进入pip安装目录下(如/usr/lib/python2.7/dist-packages/pip),执行下列语句:

    $sudo pip install -U selenium

    当出现
    Successfully installed selenium
    Cleaning up...

    时说明安装成功。

    4、验证selenium是否安装成功。

    在ubuntu下,新建一个脚本pytest.py,脚本如下:

    from selenium import webdriver
    from selenium.common.exceptions import NoSuchElementException
    from selenium.webdriver.common.keys import Keys
    import time
    
    browser = webdriver.Firefox() # Get local session of firefox
    browser.get("http://www.yahoo.com") # Load page
    assert "Yahoo!" in browser.title
    elem = browser.find_element_by_name("p") # Find the query box
    elem.send_keys("seleniumhq" + Keys.RETURN)
    time.sleep(0.2) # Let the page load, will be added to the API
    try:
        browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")
    except NoSuchElementException:
        assert 0, "can't find seleniumhq"
    browser.close()

     如果是上述脚本,则在终端下使用python /pytest.py 命令执行。

     若在脚本最开始前存在

    #!/usr/bin/env python

    则可以像sh文件一样执行。好像还需要对python设置成环境变量才成。

    $ ./pytest.py

    遇到的问题1:

    python /pytest.py命令执行后,提示“IndentationError: unexpected unindent”

    分析原因:脚本第一行未与其他行对齐。

    遇到的问题2:

    修改将代码对齐后,再次执行,又出现问题。如下所示:

    Traceback (most recent call last):
      File "/testyjw/pytest.py", line 7, in <module>
        browser = webdriver.Firefox() # Get local session of firefox
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
        self.binary, timeout),
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
        self.binary.launch_browser(self.profile)
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 61, in launch_browser
        self._wait_until_connectable()
      File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 100, in _wait_until_connectable
        self._get_firefox_output())
    selenium.common.exceptions.WebDriverException: Message: "The browser appears to have exited before we could connect. The output was: 
    (process:14510): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
    Error: no display specified
    "

    分析原因:

    windows下使用ssh终端远程连接ubuntu,运行脚本存在上面问题。而直接在ubuntu上操作执行,则不存在问题。有待进一步分析。

  • 相关阅读:
    Windows提权列表
    Metasploit之多种后门生成
    Metasploit下添加新exploit
    Linux常用命令
    Drozer快速使用指南
    数值
    null, undefined 和布尔值
    数据类型概述
    JavaScript 的基本语法
    JavaScript 语言的历史
  • 原文地址:https://www.cnblogs.com/kongzhongqijing/p/3531488.html
Copyright © 2011-2022 走看看