当前位置: 首页 > 知识库问答 >
问题:

如何使用xpath和text标识元素[重复]

宇文鸿畴
2023-03-14

HTML:

<div class="form-group" style="">
                    <label class="col-xs-12 col-lg-12" for="noGateway" style="background: rgb(204, 136, 136); border: 2px solid red;">
                        <input type="radio" data-ng-model="proxyType" value="noGateway" name="noGateway" id="noGateway" class="ng-valid ng-touched ng-dirty ng-valid-parse" style="">
                        No gateway
                    </label>
                </div>

共有1个答案

傅长恨
2023-03-14

要使用文本No gateway标识标签,您可以使用以下任何一种Java解决方案:

>

  • 带有contains()的XPath:

    WebElement element = driver.findElement(By.xpath("//label[contains(.,'No gateway')]"));
    

    使用normalize-space()的XPath:

    WebElement element = driver.findElement(By.xpath("//label[normalize-space()='No gateway']"));
    

  •  类似资料:
    • 我试图通过它包含的文本找到一个元素,然后检查该元素是否也有指向某个特定位置的链接。我正在使用Selenium/Java。 我试图通过文本找到元素,如果我可以的话,以最大限度地减少更新UI时需要做的更改(减少测试维护成本)。 我尝试了以下操作,但assert失败了,因为getAttribute最终为空。 要查找/使用的元素的HTML: 我对硒还是一个新手,所以任何帮助都非常感谢。

    • 问题内容: 我有这样一种逻辑,即先单击当前页面的标题,再单击下一步,然后再次获取标题,并且如果两个标题相同,则意味着导航尚未移至下一页,它将再次单击下一步。 但是,我的问题是title元素的Xpath不同-同一title元素具有两个Xpath。一个是一些页面,另一个是其他页面。 就是这个 要么 那么,我该如何处理呢? 问题答案: 如果元素具有两个xpath,则可以编写两个xpath,如下所示 例如

    • 我有这样一种逻辑,首先单击next按钮获取当前页面的标题,然后再次获取标题,如果两个标题相同,意味着导航没有移动到下一页,它会再次单击next。 然而,我的问题是title元素的Xpath不同-同一title元素有两个Xpath。一个是一些页面,另一个是其他页面。 要么是这个, 或 那么,我该怎么处理呢?

    • 我试图获取锚标记中的信息,但不是。我想从易趣上的几个卖家那里提取评级分数。在以下超文本标记语言代码中,您可以看到评级分数的位置。有没有一种方法可以不使用,因为从卖方更改为卖方而获得关于"BewerTungspunkteski"(德语的评级分数)的信息?这个例子中的评分是32。因为文本“BewerTungspunkteski”只在这一行,我想可以让它搜索这段文本,并提取带有这段文本的咏叹调标签。 这

    • 问题内容: 我有一个GWT应用程序,正在尝试使用Selenium编写一些测试。 我正在使用XPath来标识测试页面上的元素。使用将无效,因为这些值是由GWT自动生成的,并且可以更改。当我意识到我可以按其标签找到按钮时,事情进展顺利,如下所示: 但是,当我开始运行多个测试时,我开始遇到问题。我意识到问题是,一旦Javascript生成的GWT应用程序的所有不同“页面”都保留在HTML中的隐藏元素中。

    • 问题内容: 我想创建一个Selenium测试,以使用AOL邮件测试我们的扩展。我设法登录到AOL并撰写了电子邮件,但是我还需要在iframe中的编辑器中选择元素。我检查了一下,即使打开了编辑器,以下测试也失败了: 我得到了错误。如何通过Xpath(或通过Selenium以任何其他方式)选择iframe的主体和其他元素? 问题答案: 在切换到之前,您无法浏览。您的xPath 将不会起作用,因为代码位