【问题标题】:C# Selenium QA - how to extract the value of custom attributeC# Selenium QA - 如何提取自定义属性的值
【发布时间】:2016-12-20 18:47:07
【问题描述】:

我有复杂的 DOM 结构,HTML id 属性的值动态变化。当我尝试提取“自定义”属性的值时,Selenium 返回“null”。

我需要提取parentId的值(即我需要“qqq-bbb”,每次reload都不一样)

//Selenium(C#): 
// evaluates to "null"
string someStringName = someIWebElement.GetAttribute("parentId");
   

//HTML tag (example): 
// in Chrome the parentId is visible and unique
<g id="333-aaa" parentId="qqq-bbb"> 

   

【问题讨论】:

  • 您在定位元素时遇到问题吗?或者只是提取parentId
  • 提取 parentId 值的问题(我尝试分配返回值的字符串,在示例中“someStringName”在评估代码后仍然为“null”
  • 确保您定位到了正确的元素,也许有更多的元素与您使用的定位器相同,并且您找到了其中一个。
  • 尝试打印someIWebElement.GetAttribute("outerHTML"); 并查看元素的外观。我的猜测是你没有你期望的元素。
  • 不,元素是唯一的。它有一个 id,对应于当前元素 id 值(在 Chrome f12 控制台中视觉验证),但是元素不能帮助定位元素,因为在下一次重新加载期间 id 将不同 - 每个会话动态分配)。 .. 是的,HTML 标记是 ,即所选 IWebElement.. 的最外层标记必须连接到“自定义”tahs 的可见性(现在只是猜测,但继续调查)。任何已知的解决方法、想法或技巧将不胜感激

标签: c# selenium extraction custom-tag


【解决方案1】:

解决方案:(基于评论#2 中的建议)。发出以下命令以字符串形式返回标记的内容,并通过应用正确的解析获得所需的属性值

string outerHTML = foundIWebElement.GetAttribute("outerHTML");

【讨论】:

    猜你喜欢
    • 2015-05-06
    • 2016-05-28
    • 1970-01-01
    • 2013-04-16
    • 2020-12-19
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多