PAD JQuery - 父级兄弟姐妹中的内部文本

问题描述 投票:0回答:2

我正在使用 Power Automate Desktop 从动态生成的网站获取信息。这些元素非常深入,而且它们大多没有可用的句柄,因此我需要使用内部文本在文档中导航。

我可以使用

label:contains("static text")
访问静态文本元素,使用
label:contains("static text") + div
访问隐藏文本元素,但我似乎无法访问我得到的文本元素。

我尝试了

label:contains("static text"):parent() + div
,但是由于某种原因这也返回了隐藏的静态文本。有趣的是,从
label:contains("static text"):parent():parent()
获取文本会返回可见的静态文本,而无法找到
label:contains("static text"):parent():parent():nth-child(2)
...

<div>
  <div>
    <div>
      <ul>
        <li>
          <div>
            <label>
              STATIC TEXT I CAN FIND
            </label>
            <div>
              HIDDEN STATIC TEXT I DON'T CARE ABOUT
            </div>
          </div>
          <div>
            <div 3x>
              <li>
                <div 3x>
                  <ul></ul>
                  <div>
                    DYNAMIC TEXT I WANT TO EXTRACT
                  </div>
                </div>
              </li>
            </div>
          </div>
        </li>
      </ul>
    </div>
  </div>
</div>
jquery-selectors power-automate-desktop
2个回答
0
投票

你可以这样做:

$("label:contains('STATIC TEXT I CAN FIND')").closest('div').parent().next().find('ul').next().html()

$("div > div > div > ul > li:eq(1) > div > div").html();

0
投票

我将您的代码复制粘贴到这个在线 html 编辑器中: https://www.w3schools.com/html/tryit.asp?filename=tryhtml_intro 就在“我的第一段”代码之后。

在 PAD(文本模式下的选择器生成器)中使用 ~siblings 、 has 和 contains 选择器,我成功地在变量中获取了您想要的文本: “我要提取的动态文本”:

iframe[Id="iframeResult"] > html > 正文 > div > div > div > ul > li:has(label:contains('静态文本我可以找到')) ~ li > div > div

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.