我有一个包含以下内容的网页:
<span class="plugin_pagetree_children_span plugin_pagetree_current" id="childrenspan173273808-0"> <a href="/display/Cardians/Shift+Turnover?src=contextnavpagetreemode">Shift Turnover</a> </span>
我可以通过使用st = driver.find_element_by_link_text('Shift Turnover')
链接文本成功地找到它
但是当我用print('-',st.id)
打印id时
id打印为63cd644e-495b-4985-8f9e-7ea067a2b6f1
,而不是childrenspan173273808-0
。你知道吗
我也尝试过get_attribute
和get_property
但是这些都不起作用。欢迎任何提示/提示/建议。你知道吗
提前谢谢。你知道吗
我在这里看到的问题是,您正在尝试获取ID
childrenspan173273808-0
,但是您的选择器driver.find_element_by_link_text('Shift Turnover')
正在定位没有ID的a
元素。这就是get_attribute
不适合您的原因。实际上,您希望找到包含所需ID的span
元素您可以使用它来获取ID
childrenspan173273808-0
:这个XPath定位出现在带有文本
Shift Turnover
的a
元素之外的span
元素。我们查询包含a
元素和Shift Turnover
文本的span
,然后调用span
元素上的get_attribute
,以检索所需的childrenspan173273808-0
ID最后,在您的示例中打印出来的ID
63cd644e-495b-4985-8f9e-7ea067a2b6f1
不是WebElement
ID属性,而是“the server-assigned opaque ID for the underlying DOM element”。这在WebElement
的Selenium文档中有详细说明。你知道吗您正在尝试检索web元素的值。您需要使用在Web元素接口中声明的get\u属性方法。基本上,此方法将以字符串格式返回指定属性的值。你知道吗
解决方案1:
解决方案2:
相关问题 更多 >
编程相关推荐