您的位置:首页 > 编程语言 > Python开发

Python (自动化) 基础## 驱动的安装&&网页元素的基本定位和操作!!

2020-07-09 13:08 267 查看

一:浏览器驱动的安装

IE:Ie驱动下载
Edge:Edge驱动下载
Firefox:Firefox驱动下载
Chrome:Chrome驱动下载链接1
Chrome驱动下载链接2

强调:浏览器驱动的配置问题:
1.1 若驱动文件的后缀名为.exe文件,则直接将其放在python的安装目录中或者放在python安装目录中scripts文件夹中(windows平台),Ubuntu系统放在/usr/bin/.
1.2若驱动为压缩文件,则将文件解压中,放置到上述目录中。
1.3如果不放到上述目录,则需要在path中配置环境变量,将驱动文件所在路劲添加到环境变量中。

二:元素定位

id属性定位: 通过元素的id属性来定位,是最快的定位策略,为首选方法:格式如下:
第一种语法格式:
单元素:

find_element_by_id("id属性值")

多元素:
find_elements_by_id("id属性值")
返回列表,加[下标]可定位元素
第二种语法格式:
单元素:
find_element(by="id",value="id属性值")

多元素:
find_elements(by="id",value="id属性值")
列表,加[下标]定位元素
第三种语法格式:
单元素:
find_element(By.ID,"id属性值")

多元素:
find_elements(By.ID,"id属性值")
列表,加[下标]定位具体元素
class属性定位: 用于指定元素的类名
格式如下:
第一种语法格式:
单元素:
find_element_by_class_name("class属性值")

多元素:
find_elements_by_class_name("class属性值")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="classname",value="class属性值")

多元素:
find_elements(by="classname",value="class属性值")
列表加下标
第三种语法格式:
单元素:
find_element(By.CLASS_NAME,"class属性值")

多元素:
find_elements(By.CLASS_NAME,"class属性值")
列表加下标
name属性定位: name用于指定标签的名称,可以重复
格式如下:
第一种语法格式:
单元素:
find_element_by_name("name属性值")

多元素:
find_elements_by_name("name属性值")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="name",value="name属性值")

多元素:
find_elements(by="name",value="name属性值")
列表加下标
第三种语法格式:
单元素:
find_element(By.NAME,"name属性值")

多元素:
find_elements(By.NAME,"name属性值")
列表加下标
链接的定位: 用于定位文本链接,通过超链接上的文字信息来定位元素
这种方式一般用于定位页面上的超文本链接。
格式如下:
第一种语法格式:
单元素:
find_element_by_link_text("链接内容")

多元素:
find_elements_by_link_text("链接内容")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="link text",value="链接内容")

多元素:
find_elements(by="link text",value="链接内容")
列表加下标
第三种语法格式:
单元素:
find_element(By.LINK_TEXT,"链接内容")

多元素:
find_elements(By.LINK_TEXT,"链接内容")

部分链接定位: 对链接定位的补充
当文本链接较长时,可以通过该方法截取文本链接的部分内容进行定位。
当不能准确知道超链接上的文本信息或者只能通过部分关键字进行比对。
第一种语法格式:
单元素:
find_element_by_partial_link_text("部分链接内容")

多元素:
find_elements_by_partial_link_text("部分链接内容")
列表下标指定
第二种语法格式:
单元素:
find_element(by="partial link text",value="部分链接内容")

多元素:
find_elements(by="partial link text",value="部分链接内容")
列表加下标指定
第三种语法格式:
单元素:
find_element(By.PARTIAL_LINK_TEXT,"部分链接内容")

多元素:
find_elements(By.PARTIAL_LINK_TEXT,"部分链接内容")

标签定位: html页面的标签重复率高,很少用标签名定位单个元素,
当使用当个标签定位方法时,将返回与标签名称匹配的第一个元素
第一种语法格式:
单元素:
find_element_by_tag_name("标签名")

多元素:
find_elements_by_tag_name("标签名")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="tag name",value="标签名")

多元素:
find_elements(by="tag name",value="标签名")
ji
单元素:
find_element(By.TAG_NAME,"标签名")

多元素:
find_elements(By.TAG_NAME,"标签名")

CSS-id属性定位:
先指定一个html标签,然后加上“#”符号和id的属性值
“#”符号表示通过id属性来定位元素
可以省略html标签,即输入"#“符号和id属性值即可。
格式如下
第一种语法格式:
单元素:
find_element_by_css_selector("标签#id属性值")

多元素:
find_elements_by_css_selector("标签#id属性值")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="css selector",value="标签#id属性值")

多元素:
find_elements(by="css selector",value="标签#id属性值")
列表下标
第三种语法格式:
单元素:
find_element(By.CSS_SELECTOR,"标签#id属性值")

多元素:
find_elements(By.CSS_SELECTOR,"标签#id属性值")

CSS-class属性定位:
先指定一个html标签,加上”."符号和class属性值
“.“符号表示通过class属性值来定位元素
可以省略html标签,直接输入”."符号和class属性值即可。
另外,页面元素中存在一种复合的class属性,即class属性值中存在空格,例如class = a b c,这种情况下,class属性值的写法是a.b.c,即空格用.(点)代替。
格式如下
第一种语法格式:
单元素:
find_element_by_css_selector("标签.class属性值")

多元素:
find_elements_by_css_selector("标签.class属性值")
返回列表加下标指定
第二种语法格式:
单元素:
find_element(by="css selector",value="标签.class属性值")

多元素:
find_elements(by="css selector",value="标签.class属性值")
列表下标
第三种语法格式:
单元素:
find_element(By.CSS_SELECTOR,"标签.class属性值")

多元素:
find_elements(By.CSS_SELECTOR,"标签.class属性值")

XPath定位
格式如下:

find_element_by_xpath("xpath值")

三:元素基本操作

常用操作方法: 注意:element代表定位的元素
3.1:clear()
用途:清除文本,例如,在输入用户名和密码时,清空输入框
语法:element.clear().
3.2:send_keys()
用途:模拟用户输入,例如输入用户名和密码等等。
语法:element.send_keys().
3.3:click()
用途:模拟用户点击,例如点击登陆按钮
语法:element.click().
3.4:submit()
用途:用于提交表单,要求对象必须是表单
语法:element.submit().
3.4… refresh()
用途:页面的刷新
语法:driver.refresh()
3.4…quit()
用途:关闭驱动对象,即关闭浏览器
语法:driver.quit()
3.4…get_screenshot_as_file(‘保存的路径’)
用途:当前页面窗口的截屏
语法:driver.get_screenshot_as_file(‘保存的路径’)
3.4… maximize_window()
用途:最大化浏览器窗口,即满屏显示
语法:driver.maximize_window()
获取页面和元素信息 注意:driver代表驱动对象
获取页面信息
3.5:page_source
用途:返回页面源码
语法:driver.page_source
3.6:title
用途:返回当前页面即窗口的标题
语法:driver.title
3.7:current_url
用途:获取当前页面的URL
语法:driver.current_url
获取元素信息
3.8:size
用途:获取元素尺寸,如可用size获取输入框的尺寸
语法:element.size
3.9:location
用途:获取元素坐标,先找到目标元素,再调用该方法
语法:element.location
3.9… text
用途:获取元素的文本信息
语法:element.text
3.9…
以上内容为个人对常用方法简单的总结,有错误之处还望指正!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: