selenium
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash

·
slelnium
一、selenium是什么?
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
二、selenium的特点
- 开源软件
- 跨平台:linux、windows、mac
- 核心功能:可以在多个浏览器上进行自动化测试
- 多语言:Java、Python、C#、JavaScript等
- 成熟稳定
- 功能强大:因为开源性,可实现定制化功能
三、selenium相关软件配置
- 基于 Python 环境搭建(window系统)
1.Python 3.5(以上版本)
2.安装PyCharm
3.安装selenium包
4.浏览器
ChromeDriver 下载地址:https://chromedriver.storage.googleapis.com/index.html
PyCharm 安装包 & python 3.9.10 : 链接:https://pan.baidu.com/s/1phDYnFFrlFeUZRMQceLAnQ 提取码:symz
- selenium 安装 、卸载 、 查看命令
安装:pip install selenium
卸载:pip uninstall selenium
查看:pip show selenium
三、selenium基本使用
1.入门
代码如下(示例):
from selenium import webdriver
import time
# webdriver 获取浏览器对象
driver = webdriver.Chrome("chromedriver.exe")
# 准备一个网站
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)
time.sleep(1200)
#回收资源
driver.quit()
2.获取元素的方式——普通
- 普通
id:find_element_by_id
name:find_element_by_name
class_name:find_element_by_class_name
tag_name:find_element_by_tag_name
代码如下(示例):
<input id="kw" name="wd" class="bg">
# id
driver.find_element_by_id("kw")
# name
driver.find_element_by_name("wd")
# class_name
driver.find_element_by_class_name("bg")
# tag_name
driver.find_element_by_tag_name("input")
- 超链接(a标签)
link_text
partial_link_text
代码如下(示例):
<a href="http://www.baidu.com" id="kw">访问 百度 主页</a>
# link_text
driver.find_element_by_link_text("访问 百度 主页")
# partial_link_text
driver.find_element_by_partial_link_text("访问")
2.获取元素的方式——css选择器
find_element_by_css_selector(CSS选择器)
代码如下(示例):
<input id="kw" name="wd" class="bg">
# id 选择器
driver.find_element_by_css_selector("#kw")
# 属性选择器
driver.find_element_by_css_selector("[name=wd]")
# 类选择器
driver.find_element_by_css_selector(".bg")
# 标签选择器
driver.find_element_by_css_selector("input")
3.获取元素的方式——xpath
XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。
Xpath 语法链接:https://www.w3school.com.cn/xpath/xpath_syntax.asp
Xpath help 插件 :链接:https://pan.baidu.com/s/1phDYnFFrlFeUZRMQceLAnQ 提取码:symz
4.元素的其他操作
- 元素操作
1.clear() 清除文本
2.send_keys() 模拟输入
3.click() 单击元素
代码如下(示例):
<input id="kw" name="wd" class="bg">
# 清除文本
driver.find_element_by_css_selector("#kw").clear()
# 模拟输入
driver.find_element_by_css_selector("[wd]").send_keys("小猫")
# 单击元素
driver.find_element_by_css_selector(".bg").click()
- 元素属性获取
1.size 返回元素大小
2.text 获取元素的文本
3.is_display() 判断元素是否可见
4.is_ebabled() 判断元素是否可用
代码如下(示例):
<input id="kw" name="wd" class="bg">
# 返回元素大小
print(driver.find_element_by_xpath('//*[@id="kw"]').size)
# 获取元素的文本
print(driver.find_element_by_xpath('//*[@id="kw"]').text)
# 判断元素是否可见
print(driver.find_element_by_xpath('//*[@id="kw"]').is_enabled())
# 判断元素是否可用
print(driver.find_element_by_xpath('//*[@id="kw"]').is_displayed())




A beautiful web dashboard for Linux
最近提交(Master分支:6 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
所有评论(0)