如何通过包含属性和文本的css选择器查找元素

2024-09-26 17:55:29 发布

您现在位置:Python中文网/ 问答频道 /正文

<span _ngcontent-c77="" class="status-label success" tooltipcontainer="body" tooltipheader="Error" tooltipmode="click" tooltipposition="top" data-test-id="status"> online </span>

在xpath中,我可以通过

//*[@data-test-id="status" and text()=" online "]

但我不明白如何使用css选择器找到包含文本“在线”的元素。请帮我拿这个


Tags: testiddatastatusbodyerrorlabelclass
3条回答

你不能用css_selector来做这件事,xpath是通过文本定位的唯一方法。有find_element_by_link_text,但只针对<a>标记,并且没有附加属性

您不能这样做,因为Selenium支持CSS2,并且contains()是CSS3。您可以找到详细信息here

您将无法使用innerTextcontains('string')通过定位元素。您可以在selenium.common.exceptions.InvalidSelectorException with "span:contains('string')"中找到详细的讨论

要查找元素,可以使用以下Locator Strategies之一:

  • CSS_SELECTOR1:

    span.status-label.success[tooltipcontainer='body'][tooltipheader='Error']
    
  • CSS_SELECTOR2:

    span[data-test-id='status'][tooltipcontainer='body'][tooltipheader='Error']
    

相关问题 更多 >

    热门问题