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

selenium:是否可以在selenium定位器中使用正则表达式

冷吉星
2023-03-14
问题内容

我想获取所有具有与某些正则表达式匹配的文本的div / links / ..的xpath计数。例如:

<span> day 2 night </span>
<span> day 4 night </span>
<span> day 17 night</span>

我希望能够致电:

sel.get_xpath_count('regexp:day \d night')

并使其返回2。(当然,这是一个简单的示例,我想使用各种正则表达式)

这可能吗,怎么办?


问题答案:

使用dom=允许您使用javascript 的协议。而javascript具有regexp:

# sorry, example in Perl:
$sel->get(qq{dom=(function(){
    var x = document.getElementsByTagName('span');
    var result = [];
    for (var i=0;i<x.length;i++) {
        var txt = x[i].innerHTML;
        if (txt.match(/day \d night/)) {
            result.push(x[i]);
        }
    }
    return result;
})()});


 类似资料:
  • 问题内容: 我正在使用seleniumRC,例如,我想获取所有具有匹配属性的href属性的链接元素: 我想使用: 这将返回与正则表达式匹配的所有链接的name属性的列表。(或类似的东西) 谢谢 问题答案: 一种可能的解决方案是使用并编写一个JS脚本来返回链接列表。

  • 问题内容: 我需要单击一个下拉列表,然后单击其中的隐藏元素。html将由javascript生成,但我不知道ID或类名,但我会知道其中会有一个短语。我可以通过正则表达式查找和元素,然后用硒单击它吗? 问题答案: 您不能简单地使用内置的硒webdriver定位器进行基于正则表达式的搜索,但是您可以通过多种操作来帮助您: 和XPath函数: //div[starts-with(., “Desired

  • 我有这样的情况:我需要计算我的视图中包含多个页面(1,2,3)的所有复选框,在每个网页中,我有一堆具有相同xpath的复选框,具有不同的编号(见下面的示例): xpath fir第1页的第二个复选框:xpath fir第40页的第二个复选框: 如何在不参考订单号的情况下计算当前视图中的所有当前复选框?

  • 我有以下正则表达式: 我在只由和字符组成的字符串上使用它,将字符串分成s和s组。在这里,我的正则表达式匹配s组,然后是或行尾或s组,然后是或行尾。 我想知道我是否可以使用类似于的方法来匹配捕获组()中的

  • 问题内容: 是否可以通过使用诸如的模式搜索网页上的链接来找到网页上的链接,其中是一位数字(0-9)。 我已经在PHP中使用Regex将文本转换为链接,所以我想知道是否可以在Selenium中将这种过滤器与C#一起使用,以某种格式查找看起来相同的链接。 我试过了: 但这没有用。有什么建议吗? 问题答案: 简而言之,没有一种策略支持使用正则表达式查找元素。最简单的方法是使用它来找到页面上的所有链接,并

  • 问题内容: 截至本文发布之日,名称“ Microsoft Edge”才被正式宣布为新Windows 10的默认浏览器。 问这个问题还为时过早,但是我想知道是否有新的Selenium WebDriver可用,如果没有,是否有任何信息可以告诉我们我们期望等到开发出来再等多久? (Windows 10的技术预览版已经发布,因此在我看来这并不是一个愚蠢的问题。) 问题答案: 是的,Microsoft Ed