热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python+pycharm自动化安装配置基础以及页面常用函数

一、Python-3.6.0.exe安装1.根据提示安装exe程序;2.配置环境变量:2.1右键点击计算机,然后点击属性2.2然后
一、Python-3.6.0.exe安装

      1.根据提示安装exe程序;

      2.配置环境变量:

         2.1 右键点击"计算机",然后点击"属性"

         2.2 然后点击"高级系统设置"

         2.3 选择"系统变量"窗口下面的"Path",双击即可!

         2.4 然后在“Path”行,添加python安装路径即可(我的D:\Python32),所以在后面,

               添加该路径即可。 ps:记住,路径直接用分号";"隔开!

         2.5 最后设置成功以后,在cmd命令行,输入命令"python",就可以有相关显示。

Ps: Python2.x版本和Python版本差异较大,本文仅介绍Python3.x

二、PyCharm 编译器安装

       1.根据提示安装PyCharm

       2.安装需要的库函数

          文件->设置->项目:  ->Project Interpreter ->右上角+号->搜索需要的库函数->选中

       要安装的包->Install Package

       3.常用的库函数:serial               R232串口操作函数

                                   pyserial            与serial配合使用

                                    time                 时间函数

                                    datetime          获取系统时间函数

                                    splinter             Web操作函数

                                    PyAutoGUI       鼠标操作函数

                                    Re                     正则匹配函数

  三、WEB操作插件安装:

火狐&谷歌浏览器插件:

       Python进行网页操作需要安装对应浏览器以及插件进行配合使用,之前环境搭建章节有做说明,此处再做详细讲解。

火狐浏览器:

1.下载Firfox 58.0.2并安装;

2.将安装路径添加到系统环境变量path中;

3.下载geckodriver V0.16.1版本,将其解压到Firfox安装路径下;

4. geckodriver下载地址   :https://github.com/mozilla/geckodriver/releases;

5. 需要注意的是,浏览器的版本与geckodriver插件版本必须一一对应,否则Python将无法调用火狐浏览器。

谷歌浏览器:

1.下载chrome 65.0.3325.181版本并安装;

2.将安装路径添加到系统环境变量path中;

3.下载chromedriver V2.36/V2.37版本,将其解压到Chrome安装路径下;

4. chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html;

5.需要注意的是,浏览器的版本与chromedriver插件版本必须一一对应,否则Python将无法调用谷歌浏览器。

 

 

Firefox与对应的geckodriver, chrome与对应的Chromedriver:

 

chrome与对应的Chromedriver:

chromedriver版本

支持的Chrome版本

v2.43

v69-71

v2.42

v68-70

v2.41

v67-69

v2.40

v66-68

v2.39

v66-68

chromedriver版本

支持的Chrome版本

v2.38

v65-67

v2.37

v64-66

v2.36

v63-65

v2.35

v62-64

v2.34

v61-63

v2.33

v60-62

v2.32

v59-61

v2.38

v65-67

v2.37

v64-66

v2.31

v58-60

v2.30

v58-60

四、调用浏览器的库函数

Splinter调用浏览器:

1.脚本加载库函数

form splinter import Browser #直接调用Browser()即可

import splinter                       #使用splinter.Browser()调用

2.调用方法

使用火狐浏览器

browser=Browser(‘firefox’)

browser=visit(“https://www.baidu.com/”)

使用谷歌浏览器

browser=Browser(‘chrome’)

browser=visit(“https://www.baidu.com/”)

Splinter常用的定位元素Api

>>browser.find_by_css(‘.h1’)

>>browser.find_by_xpath(‘//h1’)

>>browser.find_by_tag(‘h1’)

>>browser.find_by_name(‘name’)

>>browser.find_by_value(‘query’)

>>browser.find_by_id(‘firstheader’)

Splinter填充输入框语句:

>>fill(“字符串”)

例:

>> browser.find_by_id(‘kw’).clear()   #清空输入框

>>browser.find_by_id(‘kw’).fill(“Python”)

Splinter点击按钮语句:

>>click()

例:

>> browser.find_by_id(‘su’). click()

Selenium调用浏览器:

1.脚本加载库函数

form selenium import webdriver  #直接调用webdriver即可

import selenium                          #使用selenium.webdriver调用

2.调用方法

使用火狐浏览器

driver=webdriver.Firefox()

drver=driver.maximize_window()   #将浏览器最大化,splinter无此功能

driver.get(“https://www.baidu.com/”)

使用谷歌浏览器

driver=webdriver.Chrome()

drver=driver.maximize_window()   #将浏览器最大化,splinter无此功能

driver.get(“https://www.baidu.com/”)

Selenium常用的定位元素Api

>>driver. find_element_by_css(‘.h1’)

>>driver.find_element _by_xpath(‘//h1’)

>>driver.find_element _by_tag(‘h1’)

>>driver.find_element _by_name(‘name’)

>>driver.find_element _by_value(‘query’)

>>driver.find_element _by_id(‘firstheader’)

Selenium填充输入框语句:

>>send_keys(“字符串”)

例:

>>driver.find_element _by_id(‘kw’).clear()   #清空输入框

>>driver.find_element _by_id(‘kw’).send_keys(“Python”)

Selenium点击按钮语句:

>>click()

例:

>> driver.find_element _by_id(‘su’). click()

当网站证书不全时可以使用ssl函数

>>import ssl

>> ssl._create_default_https_context = ssl._create_unverified_context

#用于取消SSL认证

splinter与selenium的区别:

1.等待网页加载:

Splinter只能使用强制等待àtime.sleep()

Selenium可以使用三种等待方式à显式等待、隐式等待、强制等待

显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。显式等待是等元素加载!!!

隐式等待,相当于设置全局的等待,在定位元素时,对所有元素设置超时时间。隐式等待是等页面加载,而不是元素加载!!!(隐式等待就是针对页面的,显式等待是针对元素的。)

常用隐式等待: driver.implicitly_wait(10)   #仅限chrome浏览器

2.页面最大化

Splinter无法将浏览器页面最大化;

Selenium可以将浏览器页面最大化,语句如下:

driver.maximize_window()  # 将浏览器最大化

Pyautogui函数加载

>>import pyautogui

鼠标操作方法:

>>pyautogui.moveRel(100,0,duration=0.25)   ####移动鼠标到相应的位置

>>import pyautogui

>>pyautogui.click(100,150,button='left')  ####在相应位置点击鼠标左键

>>pyautogui.click(100,150,button='right') ####将在相应位置点击鼠标右键

>>pyautogui.mouseDown() ####按下鼠标按键

>>pyautogui.mouseDown() ####释放鼠标按键

>>pyautogui.doubleClick()  ####执行双击鼠标左键

>>pyautogui.rightClick()   ####执行双击右键

>>pyautogui.middleClick()  ####执行双击中键

网页操作脚本执行注意事项:

1.需安装火狐或谷歌浏览器以及对应的插件实现网页自动化

2.网页自动化涉及鼠标操作,故执行脚本不可操作鼠标

3.执行脚本时屏幕不可锁屏、睡眠等(网页操作时,需获取相应元素的xpath)

4.浏览器注意设置为不检查更新,否则浏览器更新后版本与插件版本不一致将导致脚本无法运行;

5.注意区分splinter与selenium,切忌混合使用。

 

转:https://www.cnblogs.com/lnn123/p/10617275.html



推荐阅读
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 本文介绍了一种通过设置主题(Theme)来实现快速启动的Android引导页,并详细说明了如何避免因不同屏幕分辨率导致的图片拉伸问题。 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 在Linux系统中,find和grep是两个常用的命令,用于文件和文本的查找。本文将详细介绍这两个命令的区别及其常见用法。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • MyISAM和InnoDB是MySQL中最为广泛使用的两种存储引擎,每种引擎都有其独特的优势和适用场景。MyISAM引擎以其简单的结构和高效的读取速度著称,适用于以读操作为主、对事务支持要求不高的应用。而InnoDB引擎则以其强大的事务处理能力和行级锁定机制,在需要高并发写操作和数据完整性的场景下表现出色。选择合适的存储引擎应综合考虑业务需求、性能要求和数据一致性等因素。 ... [详细]
  • 在C#中开发MP3播放器时,我正在考虑如何高效存储元数据以便快速检索。选择合适的数据结构,如字典或数组,对于优化性能至关重要。字典能够提供快速的键值对查找,而数组则在连续存储和遍历方面表现优异。根据具体需求,合理选择数据结构将显著提升应用的响应速度和用户体验。 ... [详细]
  • 利用Flask框架进行高效Web应用开发
    本文探讨了如何利用Flask框架高效开发Web应用,以满足特定业务需求。具体案例中,一家餐厅希望每天推出不同的特色菜,并通过网站向顾客展示当天的特色菜。此外,还增加了一个介绍页面,在bios路径下详细展示了餐厅主人、厨师和服务员的背景和简介。通过Flask框架的灵活配置和简洁代码,实现了这一功能,提升了用户体验和餐厅的管理水平。 ... [详细]
author-avatar
Damon
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有