【Python3 爬虫】U32_selenium操作表单元素
1.操作输入框
操作输入框分为2个步骤,如下
- 第一步:找到这元素
- 第二步:使用
send_keys(value)
,将数据填充进去
以下是示例代码:
inputTag = driver.find_element_by_id('kw')
inputTag.send_keys('china')
使用clear
方法可以清除输入框中的内容,示例代码如下:
inputTag.clear()
实战演练
from selenium import webdriver
import time
# chromedriver的绝对路径
driver_path = r'D:\Python\chromedriver.exe'
# 初始化一个driver,并且指定chromedriver的路径
driver = webdriver.Chrome(executable_path=driver_path)
# 请求网页
driver.get("https://www.baidu.com/")
inputTag = driver.find_element_by_id('kw')
inputTag.send_keys("中国")
# 沉睡3s后清除内容
time.sleep(3)
inputTag.clear()
2.操作checkbox
因为要选中checkbox标签,在网页中是通过鼠标点击的。因此想要选中checkbox标签,那么先选中这个标签,然后执行click事件。
示例代码如下:
rememberTag = driver.find_element_by_name("rememberMe")
rememberTag.click()
实战演练
我们在登录豆瓣的时候会看到如下界面,下图标记部分为checkbox
通过google的检查我们可以找到该checkbox的name属性是autoLogin
,以下代码实现了选中该checkbox
from selenium import webdriver
import time
# chromedriver的绝对路径
driver_path = r'D:\Python\chromedriver.exe'
# 初始化一个driver,并且指定chromedriver的路径
driver = webdriver.Chrome(executable_path=driver_path)
# 请求网页
driver.get("https://www.webportal.top/")
rememberTag = driver.find_element_by_id('autoLogin')
# 停留3秒后选中
time.sleep(3)
rememberTag.click()
3.操作select标签
select元素不能直接点击。因为点击后还需要选中元素。这时候selenium就专门为select标签提供了一个类selenium.webdriver.support.ui.Select。将获取到的元素当成参数传到这个类中,创建这个对象。以后就可以使用这个对象进行选择了。示例代码如下:
from selenium.webdriver.support.ui import Select
from selenium import webdriver
# chromedriver的绝对路径
driver_path = r'D:\Python\chromedriver.exe'
# 初始化一个driver,并且指定chromedriver的路径
driver = webdriver.Chrome(executable_path=driver_path)
# 请求网站
driver.get('http://jyzx.lzjtu.edu.cn/eweb/jygl/jyglext.so?type=dwzc')
# 选中这个标签,然后使用Select创建对象
selectTag = Select(driver.find_element_by_id("szsf"))
# 根据索引选择
# selectTag.select_by_index(1)
# 根据值选择
selectTag.select_by_value("11")
# 根据可视的文本选择
#selectTag.select_by_visible_text("北京市")
# 取消选中所有选项
# selectTag.deselect_all()
4.操作按钮
操作按钮有很多种方式。比如单击、右击、双击等。这里讲一个最常用的。就是点击。直接调用click函数就可以了。示例代码如下:
inputTag = driver.find_element_by_id('su')
inputTag.click()
实战演练
模拟在百度输入【中国】,然后点击【百度一下】查询
from selenium import webdriver
from selenium.webdriver.common.by import By
# chromedriver的绝对路径
driver_path = r'D:\Python\chromedriver.exe'
# 初始化一个driver,并且指定chromedriver的路径
driver = webdriver.Chrome(executable_path=driver_path)
# 请求网页
driver.get("https://www.baidu.com/")
# inputTag = driver.find_element_by_id('kw')
inputTag = driver.find_element(By.ID,'kw')
inputTag.send_keys("中国")
inputTag = driver.find_element_by_id('su')
inputTag.click()
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!