是否有办法用 Python Selenium 通过属性查找元素?


我们可以通过 Selenium webdriver 根据属性查找元素。有许多方法可以做到这一点。我们可以使用诸如 css 和 xpath 之类的定位符,它们使用属性及其值来识别元素。

对于 css 选择器,要使用的表达式是 tagname[attribute='value']。xpath 有两种类型——绝对和相对。要使用的 xpath 表达式是 //tagname[@attribute='value'],表达式中的 tagname 是可选的。如果省略,则 xpath 表达式应为 //*[@attribute='value']。

我们考虑一个具有 input tagname 的元素。它将用 xpath 定位符和 id 属性(//input[@id='txtSearchText'])进行识别。

示例

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://tutorialspoint.com/tutor_connect/index.php")
#identify element with attribute id
l= driver.find_element_by_xpath("//input[@id='txtSearchText']")
l.send_keys("Tutorialspoint")
#get_attribute() to get value of input box
print("Enter text is: " + l.get_attribute('value'))
driver.close()

输出

更新于:2020 年 9 月 18 日

4K+ 浏览

开启你的 事业

完成课程即得认证

开始
广告