cool hit counter seleniumpython series (I) environment configuration_Intefrankly

seleniumpython series (I) environment configuration


Devoted to technical research and writing heartfelt articles

Author/Sugar Pixie

1: Install python

python version 2.7 (the latest version of python is 3.4, but the user experience is not as good as 2.7, we choose to use 2.7)

Download from: https://www.python.org/download/releases/2.7.8/

Download the Windows x86 MSI Installer (2.7.8) installation package

Setting system environment variables

Execute command verification

Enter Python

2: Download and install setuptools toolset

At the command line, go to the directory "C:Python27Scripts" and execute python ez_setup.py.

If there is no ez_setup.py in the Scripts folder after installation

Copy the following to notepad and rename ez_setup.py, remembering not to get the suffix wrong or it will be invalid.

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."""importosimportshutilimportsysimporttempfileimportzipfileimportoptparseimportsubprocessimportplatformimporttextwrapimportcontextlibimportwarningsfromdistutilsimportlogtry:fromurllib.requestimporturlopenexceptImportError:fromurllib2importurlopentry:fromsiteimportUSER_SITEexceptImportError: USER_SITE=NoneDEFAULT_VERSION="33.1.1"DEFAULT_URL="https://pypi.io/packages/source/s/setuptools/"DEFAULT_SAVE_DIR=os.curdirMEANINGFUL_INVALID_ZIP_ERR_MSG='Maybe is corrupted, delete it and try again.'def_python_cmd(*args):"""Execute a command. Return True if the command succeeded."""args= (sys.executable,) +argsreturnsubprocess.call(args) ==def_install(archive_filename, install_args=()):"""Install Setuptools."""with archive_context(archive_filename):#installinglog.warn('Installing Setuptools')ifnot_python_cmd('setup.py','install', *install_args): log.warn('Something went wrong during the installation.') log.warn('See the error message above.')#exitcode will be 2return2def_build_egg(egg, archive_filename, to_dir):"""Build Setuptools egg."""with archive_context(archive_filename):#building an egglog.warn('Building a Setuptools egg in %s', to_dir) _python_cmd('setup.py','-q','bdist_egg','--dist-dir', to_dir)#returning the resultlog.warn(egg)ifnotos.path.exists(egg):raiseIOError('Could not build the egg.')classContextualZipFile(zipfile.ZipFile):"""Supplement ZipFile class to support context manager for Python 2.6."""def__enter__(self):returnselfdef__exit__(self, type, value, traceback): self.close()def__new__(cls, *args, **kwargs):"""Construct a ZipFile or ContextualZipFile as appropriate."""ifhasattr(zipfile.ZipFile,'__exit__'):returnzipfile.ZipFile(*args, **kwargs)returnsuper(ContextualZipFile, cls).__new__(cls)@contextlib.contextmanagerdefarchive_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', tmpdir) old_wd=os.getcwd()try: os.chdir(tmpdir)try: with ContextualZipFile(filename) as archive: archive.extractall()exceptzipfile.BadZipfile as err:ifnoterr.args: err.args= ('', ) err.args= err.args +( MEANINGFUL_INVALID_ZIP_ERR_MSG.format(filename), )raise#going in the directorysubdir =os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) log.warn('Now working in %s', subdir)yieldfinally: os.chdir(old_wd) shutil.rmtree(tmpdir)def_do_download(version, download_base, to_dir, download_delay):"""Download Setuptools."""py_desig='py.'.format(sys=sys) tp='setuptools--.egg'egg= os.path.join(to_dir, tp.format(**locals()))ifnotos.path.exists(egg): archive=download_setuptools(version, download_base, to_dir, 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'insys.modules: _unload_pkg_resources()importsetuptools setuptools.bootstrap_install_from=eggdefuse_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 ='pkg_resources','setuptools'imported=set(sys.modules).intersection(rep_modules)try:importpkg_resources pkg_resources.require("setuptools>="+version)#a suitable version is already installedreturnexceptImportError:#pkg_resources not available; setuptools is not installed; downloadpassexceptpkg_resources.DistributionNotFound:#no version of setuptools was found; allow downloadpassexceptpkg_resources.VersionConflict as VC_err:ifimported: _conflict_bail(VC_err, version)#otherwise, unload pkg_resources to allow the downloaded version to#take precedence.delpkg_resources _unload_pkg_resources()return_do_download(version, download_base, to_dir, download_delay)def_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 (>=) 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 )""") msg= conflict_tmpl.format(**locals()) sys.stderr.write(msg) sys.exit(2)def_unload_pkg_resources(): sys.meta_path=[ importerforimporterinsys.meta_pathifimporter.__class__.__module__!='pkg_resources.extern'] del_modules=[ namefornameinsys.modulesifname.startswith('pkg_resources') ]formod_nameindel_modules:delsys.modules[mod_name]def_clean_check(cmd, target):"""Run the command to download target. If the command fails, clean up before re-raising the error."""try: subprocess.check_call(cmd)exceptsubprocess.CalledProcessError:ifos.access(target, os.F_OK): os.unlink(target)raisedefdownload_file_powershell(url, target):"""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', ps_cmd, ] _clean_check(cmd, target)defhas_powershell():"""Determine if Powershell is available."""ifplatform.system() !='Windows':returnFalse cmd= ['powershell','-Command','echo test'] with open(os.path.devnull,'wb') as devnull:try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull)exceptException:returnFalsereturnTruedownload_file_powershell.viable=has_powershelldefdownload_file_curl(url, target): cmd= ['curl', url,'--location','--silent','--output', target] _clean_check(cmd, target)defhas_curl(): cmd= ['curl','--version'] with open(os.path.devnull,'wb') as devnull:try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull)exceptException:returnFalsereturnTruedownload_file_curl.viable=has_curldefdownload_file_wget(url, target): cmd= ['wget', url,'--quiet','--output-document', target] _clean_check(cmd, target)defhas_wget(): cmd= ['wget','--version'] with open(os.path.devnull,'wb') as devnull:try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull)exceptException:returnFalsereturnTruedownload_file_wget.viable=has_wgetdefdownload_file_insecure(url, target):"""Use Python to download the file, without connection authentication."""src=urlopen(url)try:#Read all the data in one block.data =src.read()finally: src.close()#Write all the data in one block to avoid creating a partial file.with open(target,"wb") as dst: dst.write(data)download_file_insecure.viable=lambda: Truedefget_best_downloader(): downloaders=( download_file_powershell, download_file_curl, download_file_wget, download_file_insecure, ) viable_downloaders= (dlfordlindownloadersifdl.viable())returnnext(viable_downloaders, None)defdownload_setuptools( version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=DEFAULT_SAVE_DIR, delay=15, downloader_factory=get_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 pathto_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)ifnotos.path.exists(saveto):#Avoid repeated downloadslog.warn("Downloading %s", url) downloader=downloader_factory() downloader(url, saveto)returnos.path.realpath(saveto)def_build_install_args(options):"""Build the arguments to 'python setup.py install' on the setuptools package. Returns list of command line arguments."""return['--user']ifoptions.user_installelse[]def_parse_args():"""Parse the command line for options."""parser=optparse.OptionParser() parser.add_option('--user', dest='user_install', action='store_true', default=False, help='install in user site package') parser.add_option('--download-base', dest='download_base', metavar="URL", default=DEFAULT_URL, help='alternative URL from where to download the setuptools package') parser.add_option('--insecure', dest='downloader_factory', action='store_const', const=lambda: download_file_insecure, default=get_best_downloader, help='Use internal, non-validating downloader') parser.add_option('--version', help="Specify which version to download", default=DEFAULT_VERSION, ) parser.add_option('--to-dir', help="Directory to save (and re-use) package", default=DEFAULT_SAVE_DIR, ) options, args=parser.parse_args()#positional arguments are ignoredreturnoptionsdef_download_args(options):"""Return args for download_setuptools function from cmdline args."""returndict( version=options.version, download_base=options.download_base, downloader_factory=options.downloader_factory, to_dir=options.to_dir, )defmain():"""Install or upgrade setuptools and EasyInstall."""options=_parse_args() archive= download_setuptools(**_download_args(options))return_install(archive, _build_install_args(options))if__name__=='__main__': warnings.warn("ez_setup.py is deprecated; use pip to install setuptools") sys.exit(main())

sub- At the command line, go to the directory "C:Python27Scripts" and execute python ez_setup.py.

Also available.

Download https://bootstrap.pypa.io/ez_setup.py

python ez_setup.py #install setuptools

If it still doesn't install

1.Download the windows tarball and extract it to the python installation path

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

2.Just execute the command, python setup.py

3: Download pip [package management tool for python].

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

Unzip the pip package and go to the directory of the unzipped files.

Execute python setup.py install

Switch again to the C:Python27Scripts directory and type.

C:Python27Scripts > easy_install pip

After installation, the Scripts directory will be created in the system directory, which contains.

Executable files such as easy_install.exe and pip.exe.

Better yet, add python and python2.7.5/Scripts to the system configuration file path attribute value.

so that it can be executed directly.

After installing pip and the easy_installer tool, it will be easy to install other python libraries later

Example.

easy_install redis

perhaps

pip install redis (pip is recommended)

I tested, easy_install no problem, but using pip reported an error, odd, and then had no choice but to use easy_install to reinstall the.

If that doesn't work.

After downloading, extract the above pip-9.0.1.tar.gz file, open CMD, go to the root directory of the extracted file, which has a setup.py file, and then type in cmdpython setup.py install command

All installations complete, view the relevant file paths at

If you see the message in the above figure, it means that your pip has been successfully installed. You can see pip.exe in the Scripts folder of the Python installation path, which means that you can use pip as follows.

4: Install selenium (verify that pip is installed successfully)

Install selenium by running pip install -U selenium in the Scripts directory under the Python installation directory

You can also download selenium for python if you don't have an internet connection, unzip it and place it in the Libsite-pageages directory

3.5: Download and install the test report file package

Download HTMLTestRunner.py and place it in the Lib directory:

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

3.6. My first procedure.

rom timeimportsleepfrom seleniumimportwebdriverfrom selenium.webdriver.common.keysimportKeysdriver=webdriver.Chrome()driver.maximize_window()driver.get("https://www.baidu.com/")driver.find_element_by_id("kw").send_keys("selenium",Keys.ENTER)sleep(3)driver.quit()

Caution.

chromedriver.exe must be placed under system32, otherwise the script will not run

-end-

Yui wants you to share it with your friends

Sharing is an attitude

Passionate about technical pursuits

Remember to reply with the keyword "learning videos" for free learning videos!

I listened to every message you left.


Recommended>>
1、MachineLearning ML Application Scenarios
2、About the use of GCD
3、C Developing Mobile Applications Series 3 Using Camera to Scan QR Codes Various Basics
4、This Weeks Topics Issue 3 JavaScript Memory Mechanisms
5、Yicong software industry big data technology services to open the traditional software enterprise business intelligence brain

    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号