(二)自动化测试之selenium学习心得-操控元素的基本方法

操控元素的基本方法

选择到元素后,代码返回元素对应的webElement对象,通过这个对象,可以操作元素了

1、点击元素

2.输入

3.获取元素文本内容元素的属性

 

简单例子:

# 获取元素属性

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()
# 设置最大等待时长10s 隐式等待,缺省等待
wd.implicitly_wait(10)

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

text_element = wd.find_element_by_id('kw')
text_element.send_keys('小白学python')

button_element = wd.find_element_by_id('su')
button_element.click()

# id为1的元素,搜索的第一个结果
sech_element = wd.find_element_by_id('1')

print(sech_element.get_attribute('srcid'))

wd.quit()

3.1、获取整个元素对应的HTML

要获取整个元素对应的HTML文本内容,可以使用 element.get_attribute('outerHTML')

如果,只是想获取某个元素 内部 的HTML文本内容,可以使用 element.get_attribute('innerHTML')

简单例子:

# 获取整个元素对应的HTML文本内容
print(sech_element.get_attribute('outerHTML'))

# 只是想获取某个元素 内部 的HTML文本内容
print(sech_element.get_attribute('innerHTML'))

3.2、获取输入框里面的文字

# 对于input输入框的元素,要获取里面的输入文本,用text属性不行,element.get_attribute('value')
print(text_element.get_attribute('value'))

3.3、获取元素文本内容2

webElement对象的text属性,可以获取该元素展示在界面上的文本内容。

但是,有时候,元素的文本内容没有展示在界面上,或者没有完全完全展示在界面上。 这时,用WebElement对象的text属性,获取文本内容,就会有问题。

出现这种情况,可以尝试使用 element.get_attribute('innerText') ,或者 element.get_attribute('textContent')

简单例子:

 print(sech_element.get_attribute('innerText')

print(sech_element.get_attribute('textContent'))




posted @ 2021-03-10 16:59  糖糖来迟  阅读(166)  评论(0)    收藏  举报