css 选择3 tr选择器的第二个td选择器C# PlayWright

62lalag4  于 2022-12-15  发布在  C#
关注(0)|答案(1)|浏览(382)

我正在尝试使用Playwright工具从Web应用程序的元素中获取文本。文本位于列表的第三个tr的第二个td中。

<table _ngcontent-oyw-c36>
  <tbody _ngcontent-oyw-c36>
   <tr _ngcontent-oyw-c36>...</tr>
   <tr _ngcontent-oyw-c36>...</tr>
   <tr _ngcontent-oyw-c36>...</tr>
     <td _ngcontent-oyw-c36>...</td>
     <td _ngcontent-oyw-c36>"The text I need"</td>

所以问题是所有的tr和td都没有名称或id或任何东西。
我试过了

var rowWithStartDateTime = page1.Locator("app-production-order-info div table tbody tr:last-child");

var productieorderStartTime = rowWithStartDateTime.Locator("td:nth-child(2)").InnerTextAsync();

'我尝试了上面的代码,路径中的步骤越来越少。调试时,当鼠标悬停在变量productieorderStartTime上时,它给出了以下内容:
Id = 265,状态=等待激活,方法=“{null}",结果=“{尚未计算}”
我还尝试直接使用以下路径执行此操作
(“tbody tr:第一个子项td:第n个子项(2)”)和(“div表格tbdoy tr:最后一个子项td:最后一个子项”)
将鼠标悬停在上面时,我得到了与第一个示例相同的消息:Id =***,状态= WaitingForActivation,方法=“{null}",结果=“{尚未完成}”

jxct1oxe

jxct1oxe1#

结果是一个简单的错误。
我不得不await.InnerTextAsync();
这段代码运行后得到了所需的字符串:

var rowWithStartDateTime = await page1.Locator("table tbody tr:nth-child(3) td:nth-child(2)").InnerTextAsync();

相关问题