在使用Selenium进行自动化测试中,经常需要获取页面元素的属性,这时候就需要使用get_attribute方法。本文将从多个方面介绍get_attribute方法的使用。
一、获取单个属性
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
element = browser.find_element_by_xpath('//input[@name="username"]')
value = element.get_attribute('value')
print(value)
browser.quit()
在上述代码中,我们首先创建了一个webdriver对象,然后通过get方法获取页面,接着通过find_element_by_xpath方法获取一个输入框元素,最后使用get_attribute方法获取输入框的value属性,并将其打印出来。
二、获取多个属性
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
element = browser.find_element_by_xpath('//input[@name="username"]')
attrs = element.get_attribute('class'), element.get_attribute('id')
print(attrs)
browser.quit()
在上述代码中,我们使用了逗号隔开的方式,获取输入框元素的class和id属性,并将它们作为元组返回。
三、判断属性值是否存在
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
element = browser.find_element_by_xpath('//input[@name="username"]')
if element.get_attribute('class') == 'input-field':
print('包含input-field类')
browser.quit()
在上述代码中,我们首先使用get_attribute方法获取输入框元素的class属性值,然后判断是否等于’input-field’,如果是,就打印出“包含input-field类”。
四、获取元素文本内容
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
element = browser.find_element_by_xpath('//div[@class="container"]')
text = element.get_attribute('textContent')
print(text)
browser.quit()
在上述代码中,我们通过get_attribute方法获取了div元素的textContent属性值,即元素的文本内容,并将其打印出来。
五、获取元素标签名
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
element = browser.find_element_by_xpath('//input[@name="username"]')
tag_name = element.get_attribute('tagName')
print(tag_name)
browser.quit()
在上述代码中,我们使用get_attribute方法获取了输入框元素的标签名,即’input’,并将其打印出来。
原创文章,作者:PESZH,如若转载,请注明出处:https://www.506064.com/n/349286.html