如何从硒中获取元素的属性?
How to get attribute of element from Selenium?
我在 Python 中使用 Selenium。我想获取 <select>
元素的 .val()
并检查它是否符合我的预期。
这是我的代码:
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
我该怎么做? Selenium 文档似乎有很多关于选择元素的内容,但没有关于属性的内容。
您可能正在寻找 get_attribute()
。还显示了一个示例 here
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
val = org.get_attribute("attribute name")
Python
element.get_attribute("attribute name")
Java
element.getAttribute("attribute name")
Ruby*
element.attribute("attribute name")
C#
element.GetAttribute("attribute name");
由于最近开发的 Web 应用程序 正在使用 JavaScript, jQuery, AngularJS, ReactJS etc there is a possibility that to retrieve an attribute of an element through Selenium you have to induce WebDriverWait 将 WebDriver 实例与滞后的 Web 客户端 即 Web 浏览器 在尝试检索任何属性之前。
一些例子:
- Python:
从 visible 元素中检索任何属性(例如 <h1>
标签)你需要使用 expected_conditions as visibility_of_element_located(locator) 如下:
attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
要从 interactive 元素(例如 <input>
标签)中检索任何属性,您需要使用 expected_conditions as element_to_be_clickable(locator) 如下:
attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
HTML 属性
下面列出了HTML
中经常使用的一些属性
注意:每个 HTML 元素的所有属性的完整列表列于:HTML Attribute Reference
我在 Python 中使用 Selenium。我想获取 <select>
元素的 .val()
并检查它是否符合我的预期。
这是我的代码:
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
我该怎么做? Selenium 文档似乎有很多关于选择元素的内容,但没有关于属性的内容。
您可能正在寻找 get_attribute()
。还显示了一个示例 here
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
val = org.get_attribute("attribute name")
Python
element.get_attribute("attribute name")
Java
element.getAttribute("attribute name")
Ruby*
element.attribute("attribute name")
C#
element.GetAttribute("attribute name");
由于最近开发的 Web 应用程序 正在使用 JavaScript, jQuery, AngularJS, ReactJS etc there is a possibility that to retrieve an attribute of an element through Selenium you have to induce WebDriverWait 将 WebDriver 实例与滞后的 Web 客户端 即 Web 浏览器 在尝试检索任何属性之前。
一些例子:
- Python:
从 visible 元素中检索任何属性(例如
<h1>
标签)你需要使用 expected_conditions as visibility_of_element_located(locator) 如下:attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
要从 interactive 元素(例如
<input>
标签)中检索任何属性,您需要使用 expected_conditions as element_to_be_clickable(locator) 如下:attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
HTML 属性
下面列出了HTML
中经常使用的一些属性注意:每个 HTML 元素的所有属性的完整列表列于:HTML Attribute Reference