首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium FindBy通过文本查找标题标记

Selenium FindBy通过文本查找标题标记
EN

Stack Overflow用户
提问于 2016-03-01 22:10:25
回答 1查看 7.7K关注 0票数 0

我需要使用FindBy获取H5元素,其中包含以下HTML中的文本"ALLEN“:

代码语言:javascript
运行
复制
<div id="showAboutContent" class="modal fade in" style="display: block;" aria-hidden="false">
<div class="modal-dialog" style="width: 550px;">
<div class="modal-content">
<div class="modal-header" style="color: #96c4f3;background-color: #071c3f;">
<div class="modal-body" style="background-color: #D6E3F9; overflow-y: hidden; ">
<div class="modal-body" style="margin-left: 10px; margin-top: -20px; overflow-y: hidden;">
<img style="width:120px;height:120px; opacity:20" src="/ALEX/Logo/AboutBoxLogosvg.svg">
<h5>
<h5>
<h5>
<b> ALEX Version: 1.6.0 </b>
</h5>
<h5>
<b> ALLEN Version: 1.4.0 </b>
</h5>
<div style="background-color: #D6E3F9; padding: 10px; text-align: right; ">
</div>
</div>
</div>
</div>
</div>
</div>

我没有包括整个页面的HTML,我不认为有必要包括在内,因为我已经找到了包含H5的框架:

代码语言:javascript
运行
复制
var aboutFrame = driver.FindElement(By.Id("showAboutContent"));

因此,由于我已经找到了该元素,所以通过使用它的标签名和索引,然后在该框架中找到了我想要的h5,如下所示:

代码语言:javascript
运行
复制
var allenVersion = aboutFrame.FindElements(By.TagName("h5"))[3];

但是,我希望使用某种类型的“文本包含”方法来查找元素。这是因为可能会有更多的h5添加到该窗口,所以我不想像我一直在做的那样按索引查找它,我希望它是一个“包含”类型的查询,因为版本号总是变化的。所以我可以做一篇包含“艾伦·弗森”的文章。

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 23:01:51

也许有几种方法可以剥去这个皮。

方法1:检查所有h5元素

一种方法是选择所有的H5标记,然后识别您要寻找的标记。可能看起来像这样。

代码语言:javascript
运行
复制
var allenVersion;
var tags = aboutFrame.FindElements(By.TagName("h5"));
foreach (var tag in tags) {
  if (tag.Contains("ALLEN Version")) {
    allenVersion = tag;
    break;
  }
}

方法2:XPath

您还可以使用XPath选择器来查找版本元素。您可以围绕文档结构或正在寻找的文本设计XPath选择器。这可能看起来像这样。

代码语言:javascript
运行
复制
var allenSelector = By.XPath("//*/div[@class='modal-body'/h5[4]");
var allenVersion = aboutFrame.FindElement(allenSelector);

代码语言:javascript
运行
复制
var allenSelector = By.XPath("//*/h5/b[contains(text(), 'ALLEN Version')]");
var allenVersion = aboutFrame.FindElement(allenSelector);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35734610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档