1、判断元素是否选中
【问题】
有时候这个选项框,本身就是选中状态,如果我再点击一下,它就反选了,这可不是我期望的结果,那么可不可以当它是没选中的时候,我去点击下;当它已经是选中状态,我就不点击呢?
【解决思路】
is_selected()检查是否选中该元素,一般针对单选框,复选框,返回的结果是bool 值,没点击时候返回 False,点击后返回 True,接下来就很容易判断了,既可以作为操作前的判断,也可以作为测试结果的判断。
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com/gaoji/preferences.html")
element = driver.find_element_by_xpath("//*[text()='仅简体中文']")
if element.is_selected():
print("元素已经被选中")
else:
print("元素没有被选中")
driver.quit()
2、获取元素文本
【说明】
有时我们需要获取元素的文本值,做断言比较,则可以使用元素的text属性
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
element = driver.find_element_by_xpath("//a[@href='http://news.baidu.com']")
text = element.text
print(text)
driver.quit()
# 打印结果:新闻
3、获取元素其他属性
【说明】
有时元素没有text属性,而是通过value展示文本值的,那么我们可以获取其它属性方法:get_attribute("属性"),这里的参数可以是 class、name、value等任意属性。
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
element = driver.find_element_by_id("su")
text = element.get_attribute("value")
print(text)
driver.quit()
# 打印结果:百度一下
4、获取元素标签名称
例如我们要获取“百度一下”这个按钮的html标签,可以使用tag_name属性
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
element = driver.find_element_by_id("su")
print(element.tag_name)
driver.quit()
# 打印结果:input