首先,我们先来了解WebElement对象。
#导入模块
from selenium import webdriver
#创建一个浏览器对象
driver = webdriver.Firefox()
#访问url地址
url = "https://www.douban.com/"
#调用浏览器对象
driver.get(url)
#使用name定位豆瓣的输入框
elem = driver.find_element_by_name("q")
#打印elem对象
print(elem)
#退出浏览器
driver.quit()
在python中执行上述代码,得到如下结果,这就说明得到了一个WebElement的一个对象;
接下来介绍一下WebElement对象的属性
#导入模块
from selenium import webdriver
#创建一个浏览器对象
driver = webdriver.Firefox()
#访问url地址
url = "https://www.douban.com/"
#调用浏览器对象
driver.get(url)
#使用name定位豆瓣的输入框
elem = driver.find_element_by_name("q")
#打印elem对象
print(elem)
#打印标签名
print(elem.tag_name)
#打印当前元素的上一级
print(elem.parent)
#打印当前元素的属性值
print(elem.get_attribute('type'))
#使用xpath的方式定位豆瓣7.0文本内容
elem_1 = driver.find_element('xpath','//p[@class="app-title"]')
#打印当前元素的文本内容
print(elem_1.text)
#退出浏览器
driver.quit()
在python中执行上述代码,得到如下结果,这就说明得到了一个WebElement的一个对象;
我们再来在浏览器中查看一下定位的输入框以及“豆瓣7.0”文本内容
所以通过以上分析便可得出结论
tag_name的作用就是获取对应元素的标签名
parent的作用就是获取对应元素的父级
get_attribute('type')的作用就是获取对应元素中的属性值,框号中的属性可更改
text的作用就是获取当前元素的文本内容
接下来,我们再看一下WebElement对象的操作
from selenium import webdriver
import time
def test_start_selenium():
#打开浏览器驱动,并输入百度地址
driver = webdriver.Firefox()
url = "https://www.baidu.com/"
driver.get(url)
input_el = driver.find_element_by_id("kw")
time.sleep(3)
#输入内容
input_el.send_keys("老友记")
#点击百度一下按钮
input_e2 = driver.find_element('xpath','//input[@type="submit"]')
input_e2.click()
time.sleep(3)
#清除输入框中输入的内容
input_el.clear()
time.sleep(3)
input_el.send_keys("西游记")
time.sleep(3)
#提交
input_el.submit()
driver.quit()
test_start_selenium()
在python中输入以上代码,运行一下,可以看出是打开浏览器操作,输入百度的网址,然后搜索框中输入老友记,点击百度一下按钮,再次删除老友记,重新输入西游记,再次提交,知道最终的浏览器关闭
所以,WebElement操作就是。
send_keys(""):输入文本内容
click():点击
clear():清空
submit():提交