从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()
相关推荐
rannn_11127 分钟前
【Javaweb学习|实训总结|Week1】html基础,CSS(选择器、常用样式、盒子模型、弹性盒布局、CSS定位、动画),js(基本类型、运算符典例)
css·笔记·学习·html
lingchen190627 分钟前
MATLAB的数值计算(三)曲线拟合与插值
开发语言·matlab
爱隐身的官人33 分钟前
cfshow-web入门-php特性
python·php·ctf
gb42152871 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL1 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%1 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
一朵梨花压海棠go1 小时前
html+js实现表格本地筛选
开发语言·javascript·html·ecmascript
蒋星熠1 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
翻滚丷大头鱼1 小时前
Java 集合Collection—List
java·开发语言
爬虫程序猿2 小时前
《京东商品详情爬取实战指南》
爬虫·python