【问题标题】:css selector - get the valueCSS选择器 - 获得值
【发布时间】:2018-03-14 12:34:02
【问题描述】:

获取文本值 '2017-10-09' 的 css 选择器是什么?

<div class="col-xs-6">                                        
   <strong>
   <!--ko text: date -->
      2017-10-09
   <!--/ko--> 
   <!--ko text: time -->
      12:55
   <!--/ko-->
   </strong><br>                                        
   <!--ko text: locationName -->
      City
   <!--/ko-->                                    
</div>

【问题讨论】:

  • 最好在日期和时间周围加上标签

标签: html css selenium dom


【解决方案1】:

没有这样的选择器。

除了少数例外情况(例如:first-line),选择器只允许您选择一个元素

文本2017-10-09 不是一个元素,它甚至不是一个元素的整个文本内容。

strong 将允许您选择&lt;strong&gt;&lt;!--ko text: date --&gt;2017-10-09&lt;!--/ko--&gt;&lt;!--ko text: time --&gt;12:55&lt;!--/ko--&gt;&lt;/strong&gt;,但这比您要求的要多。

您可以选择 strong 元素,然后读取其文本内容,然后对其进行解析(例如,将其拆分为空格字符或使用诸如 /(\d{4}-\d{2}-\d{2})/ 之类的正则表达式)。

【讨论】:

    【解决方案2】:

    据我所知,没有可以检查文本节点中数据格式的 CSS 选择器。您应该在日期周围包裹一个标签,并为该标签使用适当的选择器,例如:

    <div class="col-xs-6">                                        
       <strong>
       <!--ko text: date -->
          <span class="date">
            2017-10-09
          </span>
       <!--/ko--> 
       <!--ko text: time -->
          12:55
       <!--/ko-->
       </strong><br>                                        
       <!--ko text: locationName -->
          City
       <!--/ko-->                                    
    </div>
    

    或者,您可以定位 div 内的强标签,然后处理文本节点外的日期。

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多