操控元素的基本方法
选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以操控元素了。
操控元素通常包括
-
点击元素
-
在元素中输入字符串,通常是对输入框这样的元素
-
获取元素包含的信息,比如文本内容,元素的属性
1.1 点击元素
点击元素 非常简单,就是调用元素WebElement对象的 click方法。前面我们已经学过。
这里我们要补充一点。
当我们调用 WebElement 对象的 click 方法去点击元素的时候, 浏览器接收到自动化命令,点击的是该元素的中心点位置 。
例如,对于下面的这样搜索python教程
百度一下对应的id
运行如下代码:即点击”百度一下“
ele=driver.find_element_by_id('su').click()
1.2 输入框
输入字符串也非常简单,就是调用元素WebElement对象的send_keys方法。前面我们也已经学过。
如果我们要 把输入框中已经有的内容清除掉,可以使用WebElement对象的clear方法
并且按F12,观察HTML的内容
我们要写一个自动化程序:要求在输入框中填入信息:
而且要做到输入框中已经有的提示字符,需要先 清除掉
代码应该如下
driver.get('https://www.baidu.com')
element = driver.find_element_by_id('kw')
element.clear() # 清除输入框已有的字符串
element.send_keys('python教程') # 输入新字符串
1.3 获取元素信息
获取元素的文本内容
我们已经知道,通过WebElement对象的 text 属性,可以获取元素 展示在界面上的文本内容。
比如:
element = driver.find_element_by_id('animal')
print(element.text)
1.4 获取元素属性
通过WebElement对象的get_attribute
方法来获取元素的属性值,
比如要获取元素属性srcid的值,就可以使用 element.get_attribute(srcid')
如下:
# id 为 1 的元素就是第一个搜索结果
ele = driver.find_element_by_id('1')
#获取元素属性srcid的值
print(ele.get_attribute('srcid'))
1599
Process finished with</