【发布时间】:2022-12-10 09:25:24
【问题描述】:
如果我有以下 HTML <a id="id" class="class" href="href">Element Text</a>,我将如何获得返回的“id”?我目前的程序是:
print("Attribute: " + element.get_attribute('id'))
print("Property: " + element.get_property('id'))
print("Class: " + element.get_attribute('class'))
但是所有这些都返回空字符串。但是,我可以使用element.text 获取文本
编辑:这是更深入的解释
我正在寻找一个元素,但该元素的 ID 不同。但是,有一个元素链接到我想要的元素,我可以使用它的 xpath 找到它,并将它的文本与我事先知道的特定文本进行比较。该元素的 ID 是某种形式的 someID_XX。通过获取 XX 并将其附加到另一个固定字符串,然后我可以搜索我真正想要的元素。我的问题是,一旦我获得第二个元素(不是我直接想要的那个,而是可以引导我找到我想要的那个)我似乎无法获得它的 ID 属性,即使它似乎有一个在HTML。我的问题是,如何获取 id 属性?
【问题讨论】:
-
你试过了吗:
driver.find_element_by_id('id') -
我已经有了使用 xpath 找到的元素。现在我需要元素的 id。
-
您使用什么选择器来定位元素?
-
xpath: //*[@id="id"].问题是实际 id 是“id_XX”,其中 XX 是一个变化的数字。我通过搜索字符串找到这个元素,然后我需要 XX 来找到另一个在其 ID 中使用 XX 的元素
-
“id”只是一个占位符,使问题更容易理解。有一个我想要的特定元素,但它具有不同的 ID,因此我无法直接搜索它。我可以搜索它的唯一方法是寻找另一个具有非常特定文本的元素。一旦找到该元素(我使用该元素的 xpath 找到它),我希望使用 get_attribute("id") 获取它的 ID,然后我可以使用它来查找我真正想要的元素。我已经更新了 OP 以更好地解释这个过程。