从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()
相关推荐
代码小将6 分钟前
java中static学习笔记
java·笔记·学习
虾球xz12 分钟前
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
开发语言·c++·物联网·学习
工业互联网专业19 分钟前
基于django+vue的健身房管理系统-vue
vue.js·python·django·毕业设计·源码·课程设计·健身房管理系统
aischang37 分钟前
统信桌面专业版如何使用python开发平台jupyter
开发语言·python·jupyter·统信uos
红鼻子时代40 分钟前
Django RBAC项目后端实战 - 03 DRF权限控制实现
后端·python·django·rabc
敲键盘的小夜猫1 小时前
大模型链路调试平台之LangSmith实战指南
python·langchain
狐凄1 小时前
Python实例题:Python计算概率论
开发语言·python·概率论
Y3174291 小时前
python Day46 学习(日志Day15复习)
python·学习·机器学习
这里有鱼汤1 小时前
一文读懂量化交易中最常用的5种均线,附源码,建议收藏
后端·python
学不会就看1 小时前
selenium学习实战【Python爬虫】
python·学习·selenium