[英]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 属性id和elem.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.