繁体   English   中英

如何处理来自 selenium-python 的 javascript 中的 webelement 的 id - 不是属性 id(?)?

[英]How to handle webelement's id - not attribute id(!) in javascript from selenium-python?

我需要通过唯一标识它们来处理 webelements。 属性 id 有已知的限制:它可能会丢失并且可能是非唯一的。 有可能使用评估,我很感兴趣是否可以通过它们的 id 来识别元素 - 而不是属性 id?

请考虑以下代码:我通过其属性 id 搜索元素,然后打印其 id - 它们完全不同

> Blockquote
>>> elem=driver.find_element(‘id’, ‘userInfoWhoRadioGroup_errorMessage’)
>>> elem.id
‘0ce5ef48-df80-487f-ada2-fc999dedb614’
>>> e.get_attribute(‘id’)
‘userInfoWhoRadioGroup_errorMessage’
>>>
> Blockquote
The beauty of the element's id is that every element has it and that it's unique.

更多细节:我需要处理的元素已经使用 webdriver 找到,我有它们和它们的 id。 现在我想在它们上运行 javascript(不刷新会更改 ID 的页面)。 我正在寻找一种通过这些 id 唯一识别它们的方法

HTML 属性idelem.id完全是两个不同的东西。 HTML id 在 HTML 中指定,其中elem.id是 selenium 分配给元素的id 这将始终是唯一的,并且在页面刷新/重新加载时也会发生变化。

建议将elem.id用于识别目的。

您可以使用以下内容与元素交互

driver.execute_script("arguments[0].textContent", elem)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM