【问题标题】:Selenium XPATH how to get text from Span tag underneath the input id tagSelenium XPATH 如何从输入 id 标签下的 Span 标签获取文本
【发布时间】:2016-12-04 01:54:14
【问题描述】:

我有以下html sn-p:

<div>
    <span class="gwt-InlineLabel myinlineblock" style="display: none;" aria-hidden="true">Go to row</span>
    <input id="data_configuration_view_preview_ib_row" class="gwt-IntegerBox marginleft red" type="text" size="8"/>
    <span class="gwt-InlineLabel error myinlineblock marginleft" style="width: 7ex;" aria-hidden="false">Error!</span>
</div>

我正在尝试查找文本错误!

我从输入 id 标签开始,因为它有一个 ID。我无法进入包含错误文本的 span 标签!

我从 id 开始的 xpath 是:

//input[@id="data_configuration_view_preview_ib_row"]

我试过了:

//input[@id="data_configuration_view_preview_ib_row"]/span[contains(text(), "Error!")]

我可以使用什么 CSS 或 XPath 来定位文本 Error!?

我已设法使用以下 Xpath 找到元素:

//input[@id="data_configuration_view_preview_ib_row"]//following-sibling::span[contains(text(), "Error!")]

谢谢,里亚兹

【问题讨论】:

  • 你用 xpath 试过了吗? //span[text()='错误! '] ????

标签: python-2.7 selenium xpath selenium-webdriver


【解决方案1】:

您可以将cssSelector 用作:

  • 与error 类一起使用

    span.error
    
  • 使用 ID data_configuration_view_preview_ib_row

    #data_configuration_view_preview_ib_row + span.error
    

或者你可以使用xpath 作为:

  • 与error 类一起使用

    //span[contains(@class, 'error')]
    
  • 使用preceding id data_configuration_view_preview_ib_row

    //span[preceding::*[@id = 'data_configuration_view_preview_ib_row']]
    
  • 使用preceding-sibling id data_configuration_view_preview_ib_row

    //span[preceding-sibling::*[@id = 'data_configuration_view_preview_ib_row']]
    

希望对你有帮助..:)

【讨论】:

    【解决方案2】:

    使用坐标轴following-sibling获取同级的下一个元素:

    //input[@id="data_configuration_view_preview_ib_row"]/following-sibling::span
    

    您也可以使用 CSS 选择器:

    #data_configuration_view_preview_ib_row + span
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多