selenium 展开折叠树视图 C#

艾米

我刚开始使用 selenium c#。我有一个树视图,它的位置不一致,所以如果它没有扩展,我想扩展它,如果它已经扩展,它应该是原样。类似的崩溃。

这是树展开的时候

<div class="rtTop">
     <span class="rtSp"></span>
     <span class="rtMinus"></span>
     <span class="rtIn">Roles</span>
</div>

这是它崩溃的时候

<div class="rtTop">
     <span class="rtSp"></span>
     <span class="rtPlus"></span>
     <span class="rtIn">Roles</span>
</div>

我目前正在使用

public static string treeviewExpand( string treeviewExpandButton)
{
    treeviewExpandButton = "//span[text()='" + treeviewExpandButton + "']/preceding-sibling::span[@class='rtPlus']";
    return treeviewExpandButton;
}
public static string treeviewCollapse(string treeviewCollapseButton)
{
    treeviewCollapseButton = "//span[text()='" + treeviewCollapseButton + "']/preceding-sibling::span[@class='rtMinus']";
    return treeviewCollapseButton;
}

如果调用适当的操作,上述 xpath 工作正常。但我想要一个通用的动作函数来展开和折叠树,而不管其当前状态如何。

我试图通过使用文本获取树视图节点的当前类名。在这里,我试图获取当前类“rtPlus”或“rtMinus”,但是当我尝试使用标签名称作为跨度获取前面的兄弟时,我得到的标签跨度是“rtsp”类而不是“rtPlus”类或“rtMinus”即使检查显示其前一个兄弟跨度具有“rtPlus”或“rtMinus”类

我在用

public static string treeviewExpandCollapse(string treetext)
{
    treetext= "//span[text()='" + treetext+ "']";
    IWebElement element;
    element = driver.FindElement(treetext).FindElement(By.XPath("./preceding-sibling::span"));
    string calsss = element.GetAttribute("class");

    Thread.Sleep(2000);
}
头脑

XPath 可能很棘手,尤其是当您开始将多个FindElementXPath链接在一起时。对于您的场景,我会通过仅使用一个 XPath 来保持简单:

"//span[text()='" + text + "']/parent::div/span[2]"

解释:

  • //span[text()='" + text + "']- 选择<span>给定的text
    • <span class="rtIn">Roles</span>
  • /parent::div- 选择<span>的父级
    • <div class="rtTop">
  • /span[2]- 在父级中,选择<span>索引 2 处(无论<span>是展开还是折叠)
    • <span class="rtPlus"></span>

代码:

IWebElement element = driver.FindElement(
    By.XPath("//span[text()='" + text + "']/parent::div/span[2]"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

html折叠/展开树

来自分类Dev

展开折叠树

来自分类Dev

html折叠/展开树

来自分类Dev

自定义树视图的展开/折叠图标

来自分类Dev

在C#树视图中展开特定节点的所有父节点

来自分类Dev

ASP .NET (C#):默认情况下,展开的树视图节点始终为空?

来自分类Dev

如何使用angularjs和特定的数据结构创建简单的树可展开/可折叠视图

来自分类Dev

AngularJS中的子菜单(展开/折叠的树)

来自分类Dev

D3.js可折叠树-展开/折叠节点

来自分类Dev

展开/折叠动画Android半视图

来自分类Dev

展开式列表视图不会折叠

来自分类Dev

在Rails视图中实现展开和折叠

来自分类Dev

单击RadioButton后的Android展开/折叠视图

来自分类Dev

如何使用“ Selenium Webdriver C#”单击“展开”按钮以打开部分

来自分类Dev

D3.js树全部展开并全部折叠

来自分类Dev

以角度展开/折叠递归树菜单中的列表项

来自分类Dev

Extjs - 树面板根据条件折叠和展开

来自分类Dev

初始时折叠树视图 css 表

来自分类Dev

如何让 vss sdk 树视图默认折叠?

来自分类Dev

在视图上展开和折叠标准可可控件

来自分类Dev

在iOS中展开和折叠表格视图单元格

来自分类Dev

更改视图时如何保持Bootstrap面板展开/折叠

来自分类Dev

展开和折叠所有表格视图单元格

来自分类Dev

相应地移动视图以折叠/展开动画

来自分类Dev

在iOS中展开和折叠表格视图单元格

来自分类Dev

顺利展开和折叠iOS App中的视图?

来自分类Dev

展开和折叠所有表格视图单元格

来自分类Dev

更改视图时如何保持Bootstrap面板展开/折叠

来自分类Dev

展开和折叠按钮上的第一行,单击“目标-C”。

Related 相关文章

热门标签

归档