selenium python2.7安装配置

1:安装python

python2.7版本(最新的python版本是3.4,但用户体验没有2.7版本的好,我们选择用2.7版本)

下载地址:https://www.python.org/download/releases/2.7.8/

 

下载Windows x86 MSI Installer (2.7.8)安装包

 

 

设置系统环境变量

 

 执行命令验证

输入Python

 

2:下载安装setuptools工具集

在命令行方式下,进入目录“C:\Python27\Scripts”执行python ez_setup.py

若安装后Scripts文件夹下,没有ez_setup.py

把下面内容复制到记事本,重命名ez_setup.py,记得后缀别错了,否则无效。

ez_setup.py

#!/usr/bin/env python

"""
Setuptools bootstrapping installer.

Maintained at https://github.com/pypa/setuptools/tree/bootstrap.

Run this script to install or upgrade setuptools.
"""

import os
 shutil
 sys
 tempfile
 zipfile
 optparse
 subprocess
 platform
 textwrap
 contextlib
 warnings

from distutils  log

try:
    from urllib.request  urlopen
except ImportError:
    from urllib2  urlopen

from site  USER_SITE
 ImportError:
    USER_SITE = None

DEFAULT_VERSION = "33.1.1"
DEFAULT_URL = https://pypi.io/packages/source/s/setuptools/
DEFAULT_SAVE_DIR = os.curdir

MEANINGFUL_INVALID_ZIP_ERR_MSG = 'Maybe {0} is corrupted,delete it and try again.'


def _python_cmd(*args):
    
    Execute a command.

    Return True if the command succeeded.
    """
    args = (sys.executable,) + args
    return subprocess.call(args) == 0


def _install(archive_filename,install_args=()):
    Install Setuptools.
    with archive_context(archive_filename):
         installing
        log.warn(Installing Setuptools')
        if not _python_cmd(setup.py',installinstall_args):
            log.warn(Something went wrong during the installation.)
            log.warn(See the error message above.)
             exitcode will be 2
            return 2


def _build_egg(egg,archive_filename,to_dir):
    Build Setuptools egg. building an egg
        log.warn(Building a Setuptools egg in %s,to_dir)
        _python_cmd(-qbdist_egg--dist-dir returning the result
    log.warn(egg)
    not os.path.exists(egg):
        raise IOError(Could not build the egg.)


class ContextualZipFile(zipfile.ZipFile):

    Supplement ZipFile class to support context manager for Python 2.6."""

    def __enter__(self):
        return self

    __exit__(self,type,value,traceback):
        self.close()

    __new__(cls,*args,**kwargs):
        Construct a ZipFile or ContextualZipFile as appropriate."""
        if hasattr(zipfile.ZipFile,1)">__exit__):
            return zipfile.ZipFile(*args,1)">kwargs)
        return super(ContextualZipFile,cls).__new__(cls)


@contextlib.contextmanager
 archive_context(filename):
    
    Unzip filename to a temporary directory,set to the cwd.

    The unzipped target is cleaned up after.
    
    tmpdir = tempfile.mkdtemp()
    log.warn(Extracting in %s os.getcwd()
    :
        os.chdir(tmpdir)
        :
            with ContextualZipFile(filename) as archive:
                archive.extractall()
         zipfile.BadZipfile as err:
             err.args:
                err.args = ('' (
                MEANINGFUL_INVALID_ZIP_ERR_MSG.format(filename),)
            raise

         going in the directory
        subdir = os.path.join(tmpdir,os.listdir(tmpdir)[0])
        os.chdir(subdir)
        log.warn(Now working in %syield

    finally:
        os.chdir(old_wd)
        shutil.rmtree(tmpdir)


 _do_download(version,download_base,to_dir,download_delay):
    Download Setuptools.
    py_desig = py{sys.version_info[0]}.{sys.version_info[1]}'.format(sys=sys)
    tp = setuptools-{version}-{py_desig}.egg
    egg = os.path.join(to_dir,tp.format(**locals()))
     os.path.exists(egg):
        archive = download_setuptools(version,download_delay)
        _build_egg(egg,archive,to_dir)
    sys.path.insert(0,egg)

     Remove previously-imported pkg_resources if present (see
     https://bitbucket.org/pypa/setuptools/pull-request/7/ for details).
    if pkg_resources' in sys.modules:
        _unload_pkg_resources()

     setuptools
    setuptools.bootstrap_install_from = egg


 use_setuptools(
        version=DEFAULT_VERSION,download_base=DEFAULT_URL,to_dir=DEFAULT_SAVE_DIR,download_delay=15):
    
    Ensure that a setuptools version is installed.

    Return None. Raise SystemExit if the requested version
    or later cannot be installed.
    
    to_dir = os.path.abspath(to_dir)

     prior to importing,capture the module state for
     representative modules.
    rep_modules = setuptools
    imported = set(sys.modules).intersection(rep_modules)

    :
         pkg_resources
        pkg_resources.require(setuptools>=" + version)
         a suitable version is already installed
        return
     ImportError:
         pkg_resources not available; setuptools is not installed; download
        pass
     pkg_resources.DistributionNotFound:
         no version of setuptools was found; allow download
         pkg_resources.VersionConflict as VC_err:
        if imported:
            _conflict_bail(VC_err,version)

         otherwise,unload pkg_resources to allow the downloaded version to
          take precedence.
        del pkg_resources
        _unload_pkg_resources()

     _conflict_bail(VC_err,version):
    
    Setuptools was imported prior to invocation,so it is
    unsafe to unload it. Bail out.
    
    conflict_tmpl = textwrap.dedent(
        The required version of setuptools (>={version}) is not available,and can't be installed while this script is running. Please
        install a more recent version first,using
        'easy_install -U setuptools'.

        (Currently using {VC_err.args[0]!r})
        )
    msg = conflict_tmpl.format(**locals())
    sys.stderr.write(msg)
    sys.exit(2 _unload_pkg_resources():
    sys.meta_path = [
        importer
        for importer  sys.meta_path
        if importer.__class__.__module__ != pkg_resources.extern
    ]
    del_modules = [
        name for name  sys.modules
        if name.startswith()
    ]
    for mod_name  del_modules:
         sys.modules[mod_name]


 _clean_check(cmd,target):
    
    Run the command to download target.

    If the command fails,clean up before re-raising the error.
    """
    :
        subprocess.check_call(cmd)
     subprocess.CalledProcessError:
         os.access(target,os.F_OK):
            os.unlink(target)
        raise


 download_file_powershell(url,1)">
    Download the file at url to target using Powershell.

    Powershell will validate trust.
    Raise an exception if the command cannot complete.
    
    target = os.path.abspath(target)
    ps_cmd = (
        [System.Net.WebRequest]::DefaultWebProxy.Credentials = "
        [System.Net.CredentialCache]::DefaultCredentials; (new-object System.Net.WebClient).DownloadFile("%(url)s","%(target)s")'
        % locals()
    )
    cmd = [
        powershell-Command has_powershell():
    Determine if Powershell is available.if platform.system() != Windows False
    cmd = [echo test]
    with open(os.path.devnull,1)">wb) as devnull:
        :
            subprocess.check_call(cmd,stdout=devnull,stderr=devnull)
         Exception:
             False
     True
download_file_powershell.viable = has_powershell


 download_file_curl(url,target):
    cmd = [curl--location--silent--output has_curl():
    cmd = [--version True
download_file_curl.viable = has_curl


 download_file_wget(url,1)">wget--quiet--output-document has_wget():
    cmd = [ True
download_file_wget.viable = has_wget


 download_file_insecure(url,1)">Use Python to download the file,without connection authentication.
    src = urlopen(url)
     Read all the data in one block.
        data = src.read()
    :
        src.close()

     Write all the data in one block to avoid creating a partial file.
    with open(target,1)">) as dst:
        dst.write(data)
download_file_insecure.viable = lambda: True


 get_best_downloader():
    downloaders = (
        download_file_powershell,download_file_curl,download_file_wget,download_file_insecure,)
    viable_downloaders = (dl for dl in downloaders  dl.viable())
     next(viable_downloaders,None)


 download_setuptools(
        version=DEFAULT_VERSION,delay=15get_best_downloader):
    
    Download setuptools from a specified location and return its filename.

    `version` should be a valid setuptools version number that is available
    as an sdist for download under the `download_base` URL (which should end
    with a '/'). `to_dir` is the directory where the egg will be downloaded.
    `delay` is the number of seconds to pause before an actual download
    attempt.

    ``downloader_factory`` should be a function taking no arguments and
    returning a function for downloading a URL to a target.
     making sure we use the absolute path
    to_dir = os.path.abspath(to_dir)
    zip_name = setuptools-%s.zip" % version
    url = download_base + zip_name
    saveto = os.path.join(to_dir,zip_name)
    not os.path.exists(saveto):   Avoid repeated downloads
        log.warn(Downloading %s downloader_factory()
        downloader(url,saveto)
     os.path.realpath(saveto)


 _build_install_args(options):
    
    Build the arguments to 'python setup.py install' on the setuptools package.

    Returns list of command line arguments.
    return [--user'] if options.user_install else []


 _parse_args():
    Parse the command line for options.
    parser = optparse.OptionParser()
    parser.add_option(
        user_installstore_trueFalse,help=install in user site package)
    parser.add_option(
        --download-basedownload_baseURLalternative URL from where to download the setuptools package--insecuredownloader_factorystore_constlambda: download_file_insecure,1)">get_best_downloader,1)">Use internal,non-validating downloader
    )
    parser.add_option(
        Specify which version to downloadDEFAULT_VERSION,)
    parser.add_option(
        --to-dirDirectory to save (and re-use) packageDEFAULT_SAVE_DIR,)
    options,args = parser.parse_args()
     positional arguments are ignored
     options


 _download_args(options):
    Return args for download_setuptools function from cmdline args. dict(
        version=options.version,download_base=options.download_base,1)">options.downloader_factory,to_dir=options.to_dir,)


 main():
    Install or upgrade setuptools and EasyInstall.
    options = _parse_args()
    archive = download_setuptools(**_download_args(options))
     _install(archive,_build_install_args(options))

__name__ == __main__:
    warnings.warn(ez_setup.py is deprecated; use pip to install setuptools)
    sys.exit(main())

再次在命令行方式下,进入目录“C:\Python27\Scripts”,执行python ez_setup.py。 

也可以:

下载https://bootstrap.pypa.io/ez_setup.py

python ez_setup.py  #安装 setuptools

 如果还是不能安装

1.下载windows的压缩包,解压到python安装路径

地址:https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.zip#md5=5f7c0a99cb66df161a6c08737d91f11e

2.执行命令,python setup.py即可

3:下载pip python的安装包管理工具】

https://pypi.python.org/pypi/pip

解压pip包并进入到解压后的文件目录下。

执行python setup.py install 

再切换到C:\Python27\Scripts 目录下输入:

C:\Python27\Scripts > easy_install pip

安装完毕之后会在系统目录下生成Scripts目录,里面有 :

easy_install.exe 和 pip.exe  等可执行文件。

最好,把python和python2.7.5/Scripts添加到系统配置文件path属性值里。

这样就可以直接执行了,

安装完pip和easy_installer工具后,以后再安装python其他库就方便了

例:
easy_install redis

pip install redis (推荐使用pip)

本人测试,easy_install 没有问题,但是使用pip就报错了,奇葩了,后来没办法就使用easy_install重新安装了一下:

如果还不行

下载后,解压缩上面pip-9.0.1.tar.gz文件,打开CMD,进入解压缩后文件的根目录,该目录中有一个setup.py文件,然后再cmd中输入python setup.py install命令

 所有安装完成,查看相关文件路径:

 

看到上图中提示信息,说明你的pip已经安装成功啦,进入Python安装路径的Scripts文件夹下即可看到pip.exe,说明可以使用pip啦,具体如下:

 

 

 

4:安装selenium(验证pip是否安装成功)

Python安装目录下的Scripts目录下执行pip install -U selenium安装selenium

 

 

若未联网也可以下载selenium for python解压后放置在Lib\site-pageages目录下

 

 

3.5:下载并安装测试报告文件包

下载HTMLTestRunner.py放置在Lib目录下:

http://tungwaiyip.info/software/HTMLTestRunner.html

 

3.6.我的第一个程序:

from time  sleep
from selenium  webdriver
from selenium.webdriver.common.keys  Keys
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("selenium")
driver.quit()

注意:

chromedriver.exe必须放到system32下,否则脚本不能运行

 

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...