从0开始python学习-21.selenium 元素的常见操作

复制代码
1. 输入内容:send_keys()
2. 点击(鼠标的左击):click()
3. 清除文本:clear()
4. 提交表单:submit()
5. 获取元素的大小:size  如果没有文本内容那么是空值
6. 获取元素的文本信息:text
7. 获取元素的属性:get_attribute()
8. 判断元素是否可见:is_display() 返回True/False
9. 判断元素是否可用:is_enable() 返回True/False
10.截图:get_screenshot_as_file() 或 save_screenshot()
python 复制代码
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

url = "https://www.baidu.com/"

driver.get(url)

driver.maximize_window ()

# 输入框:<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
# 百度一下:<input type="submit" id="su" value="百度一下" class="bg s_btn">
# 输入内容:send_keys()
driver.find_element(By.ID, 'kw').send_keys('1111')
sleep(3)

# 点击(鼠标的左击):click()
driver.find_element(By.ID, 'su').click()
sleep(5)

# 清除文本:clear()
driver.find_element(By.ID, 'kw').clear()
sleep(3)

# 提交表单:submit()
driver.find_element(By.ID, 'kw').send_keys('2222')
driver.find_element(By.ID, 'kw').submit()
sleep(10)

# <a href="http://news.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">新闻</a>
# xpath: //*[@id="s-top-left"]/a[1]

# 获取元素的大小:size
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').size)  # {'height': 23, 'width': 26}

# 获取元素的文本信息:text
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').text)  # 新闻

# 获取元素的内容/属性:get_attribute()
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').get_attribute('innerText'))  # 新闻
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').get_attribute('class'))  # mnav c-font-normal c-color-t

# 判断元素是否可见:is_display()
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').is_displayed())  # True

# 判断元素是否可用:is_enable()
print(driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').is_enabled())  # True

# 截图:get_screenshot_as_file() 或 save_screenshot()
driver.get_screenshot_as_file('./1png')
driver.save_screenshot('./2.jpg')
sleep(2)

driver.quit()
相关推荐
ζั͡山 ั͡有扶苏 ั͡✾几秒前
从零搭建 Data-Juicer:一站式大模型数据预处理与可视化平台完整教程
python·data-juicer
多喝开水少熬夜5 分钟前
Trie树相关算法题java实现
java·开发语言·算法
QT 小鲜肉7 分钟前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
SkylerHu26 分钟前
tornado+gunicorn部署设置max_body_size
python·tornado·gunicorn
lsx20240634 分钟前
MySQL WHERE 子句详解
开发语言
Tony Bai41 分钟前
【Go模块构建与依赖管理】09 企业级实践:私有仓库与私有 Proxy
开发语言·后端·golang
Lucky小小吴1 小时前
开源项目5——Go版本快速管理工具
开发语言·golang·开源
Mr.Jessy1 小时前
Web APIs 学习第五天:日期对象与DOM节点
开发语言·前端·javascript·学习·html
杨福瑞1 小时前
数据结构:单链表(2)
c语言·开发语言·数据结构
进化中的码农1 小时前
Go中的泛型编程和reflect(反射)
开发语言·笔记·golang