当前位置: 首页 > 面试题库 >

找出类名是否包含某些文本

萧安怡
2023-03-14
问题内容

作为测试的一部分,该系统应该确定用于打开网站的设备是移动设备还是普通台式机。

我不断收到错误:

“ InvalidSelectorError:无法使用xpath表达式// * [包含(@class,is-mobile …

萤火虫的属性:

<body class="login-page is-desktop">

我的测试:

public class isMobile {

public static boolean isMobile = false;

public static boolean checkIfMobile(WebDriver driver) throws Exception {

    List<WebElement> list = driver.findElements(By
            .xpath("//body[contains(@class, 'is-mobile'"));
    if (list == null) {
        return false;
    } else {
        return true;
    }
}
}

有人可以告诉我正确的XPath应该是什么吗?


问题答案:

您似乎缺少右括号和右括号:

更改此:

//body[contains(@class, 'is-mobile'

变成这个:

//body[contains(@class, 'is-mobile')]

附带说明一下,请考虑到此代码还有另一个隐蔽的问题,那就是您将匹配不希望匹配的内容,例如此类class属性:login-page not-is- mobile

无法像使用CSS3选择器那样简单地进行匹配[class~="is-mobile"]。但是,您可以这样做:

//body[contains(concat(' ', @class, ' '), ' is-mobile ')]

所有这些空格都在其中,以确保您只会在空格之间匹配某些内容,即使它位于class属性的开头或结尾,也要匹配。

这确实很丑陋,但这就是XPath的实现方式。



 类似资料:
  • 我这里有这个html 我想检查span类是否包含值2013。我应该如何编写xpath? 这些是我到目前为止尝试过的,根据Firepath,它们要么无效,要么没有匹配的节点。

  • 问题内容: 我正在寻找下表的CSS选择器: 是否有任何选择器来匹配所有包含“ male”的TD? 问题答案: 如果我正确阅读了说明书,否。 您可以匹配元素,元素中属性的名称以及元素中命名属性的值。不过,我看不到任何与内容匹配的元素。

  • 问题内容: 我正在尝试检查python列中是否包含某个值。我正在使用,我毫不怀疑它是一个很好的工具。问题是我有超过350K的行,并且输出不会显示所有的行,因此我可以查看该值是否实际包含在内。简而言之,我只想知道(Y / N)列中是否包含特定值。我的代码如下: 问题答案: 我认为如果需要行,其中column的值包含string : 或者,如果的列是: 如果要检查 列中的最后4位数字: 样品:

  • 问题内容: 我正在尝试获取HTML文档中包含以下文本模式的元素:#\ S {11} 因此,前者将通过使用以下内容进行匹配: 结果将是这样的: 我可以获取所有匹配的文本(请参见上面的行)。但是我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点。在这种情况下,我希望所有h2元素都返回,而不是文本匹配。 有想法吗? 问题答案: 印刷品:

  • 问题内容: 我正在使用Linux,并打算使用Shell删除一些文件。 我的文件夹中有一些文件,一些文件名包含单词“ good”,其他文件名则没有。例如: 我要删除名称中不包含“ good”的文件,因此其余文件为: 如何在shell 中使用它?我尝试使用 但这不起作用。 非常感谢! 问题答案: 此命令应执行所需的操作: 它可能比其他命令运行得更快,因为它不涉及使用正则表达式(这很慢,对于这种简单的操

  • 问题内容: 我有一个数据框,其中包含有关电影的信息。它有一个名为的列,其中包含它所属的流派列表。例如: 我想知道如何查询数据框,以便它返回属于某个类型的电影? 例如,可能会返回0或1。 我知道列表,可以做以下事情: 但是,在大熊猫中,我找不到类似的东西,我唯一知道的是,但它不适用于列表类型。 问题答案: 您可以使用create ,然后: