美文网首页
使用css选择器在确切元素内按精确文本查找元素

使用css选择器在确切元素内按精确文本查找元素

作者: 落雪无尘V | 来源:发表于2023-02-07 14:17 被阅读0次

    使用css选择器在确切元素内按精确文本查找元素

    时间:2014-09-17 11:43:46

    标签: selenium xpath selenium-webdriver css-selectors

    我想知道我是否可以通过css-locators通过精确文本匹配元素(总体目标是将其用作Selenium的定位器)。我知道contains方法

    例如:

    <div><div>S - Subscriber</div></div>
    
    

    我可以通过css=div:contains('Subscriber')css=div:contains('S - Subscriber')检索它,但我需要完全匹配。我试过了css=div:contains('^S - Subscriber$'),找不到这个元素。

    还有一点:

    当我们使用xpath时,我们可以通过检索带有text()函数的文本来假定给定文本是精确元素(例如//div[text()='S - Subscriber']会将我们指向孩子div,只要{ {1}}会将我们指向父div,如果我没有搞砸了),那么css中的等价物是否等同于//div[contains(., 'S - Subscriber')]?我的意思是只指向一个元素,没有父div。

    提前致谢!

    2 个答案:

    答案 0 :(得分:3)

    由于您正在使用硒,我会选择使用Xpath。您可以通过以下方式获得所需的元素:browser.find_element_by_xpath('//div[text()="S - Subscriber"]')

    遗憾的是,您不能将css选择器用于您尝试做的事情。

    答案 1 :(得分:0)

    您可以尝试使用正则表达式进行精确匹配。

    var r = /^a$/;
    css=a:contains((r.test('Text')) ? 'Text' : '');
    

    相关文章

      网友评论

          本文标题:使用css选择器在确切元素内按精确文本查找元素

          本文链接:https://www.haomeiwen.com/subject/pdtfkdtx.html