python - 是否可以从多个同名元素中获取 get_attribute() ?

标签 python list selenium selenium-webdriver css-selectors

我有很多具有相同类名但具有不同 id 的列表元素。

示例:

<li class="test class" id="111-11-111"> pass </li>
<li class="test class" id="222-22-222"> pass </li>
<li class="test class" id="333-33-333"> pass </li>

我需要提取这些 id。 对于单个列表元素来说这不是问题:

driver.find_element_by_css_selector(".test.class").get_attribute("id")

但我需要以某种方式找到下一个 ID。 如果尝试 find_elements_by... 我收到以下异常:

'list' object has no attribute 'get_attribute'.

有办法提取它们吗?

最佳答案

你可以使用xpath:

listOfLi = driver.find_elements_by_xpath("//li[class='test class']")

或 CSS 选择器:

listOfLi = driver.find_elements_by_css_selector(".test.class")

您可以通过一一索引来访问每个 li 元素:

for eachLiElement in listOfLi:
    string = eachLiElement.get_attribute("id")

string 将为您提供每个元素的 id。

如果只想获取第二个id,可以通过

secondId = listOfLi[1].get_attribute("id")

secondId 将具有 222-22-222

关于python - 是否可以从多个同名元素中获取 get_attribute() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38601055/

相关文章:

python - 从数据帧列中获取与特定字符串最相似的值python

python - 如何将 CSV 数据存储在具有字典和列表的嵌套字典中?

python-2.7 - Selenium Python 循环遍历表来打印我得到的列值 元素不再有效

selenium - 警报后使用 geb 关闭弹出窗口

javascript - 使用 selenium 从 window.location 获取 url

python - 是否可以使用非零值有效地初始化 bytearray?

Python pkgutil.walk_packages 不返回子包

python - Cookiecutter 创建的目录给我运行开发服务器和 python shell 的问题

python - 如何将整数列表转换为列表列表?

python - Numpy 无法将列表转换为 np 数组