如何从Selenium获取元素的属性

rdrgkggo  于 2022-11-24  发布在  其他
关注(0)|答案(3)|浏览(154)

我在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文档似乎有很多关于选择元素的内容,但没有关于属性的内容。

huwehgph

huwehgph1#

您可能正在查找get_attribute()

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")
btqmn9zl

btqmn9zl2#

"巨蟒"

element.get_attribute("attribute name")

** java **

element.getAttribute("attribute name")

Ruby*

element.attribute("attribute name")

C语言#

element.GetAttribute("attribute name");
xqk2d5yq

xqk2d5yq3#

由于最近开发的 *Web应用程序 * 正在使用JavaScriptjQueryAngularJSReactJS等,因此,要通过 Selenium 检索元素的属性,您可能必须在尝试检索任何属性之前诱导WebDriverWait将 WebDriver 示例与滞后的 *Web客户端 *(即 *Web浏览器 *)同步。
以下是一些例子:

  • 巨蟒:
  • 要从**visible**元素(例如,<h1> 标记)检索任何属性,需要使用expected_conditions作为visibility_of_element_located(定位器),如下所示:
attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
  • 要从***交互式***元素(例如<input>标记)中检索任何属性,您需要使用expected_conditions作为element_to_be_clickable(定位器),如下所示:
attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")

HTML属性

下面是HTML中常用的一些属性列表

注意:每个HTML元素的所有属性的完整列表列于:HTML Attribute Reference

相关问题