-1

我正在尝试抓取tips这些练习的部分,但很多页面都不同,导致空白字段。

他们唯一的共同点是提示总是在第二个老列表中。第一个有序列表是说明。第二个有序列表是提示。

以下是我尝试过的一些 xpath:

//ol(这会选择两个有序列表)

//ol[2](由于某种原因,这根本不起作用)

//h3[contains(text(),'​Exercise Tips:')]/following::ol(一些页面它没有拿起提示部分)

//DIV[@class="field field-name-body field-type-text-with-summary field-label-hidden"]/DIV[1]/DIV[1]/OL[2](再次返回空白的一些页面)

链接到页面不同的一些练习: https ://www.muscleandstrength.com/exercises/one-arm-kettlebell-floor-press https://www.muscleandstrength.com/exercises/overhead-tricep-扩展名.html

4

1 回答 1

0

我会尝试//div[contains(@class, "exercise-tips")]//li/text()

根据您的示例 xpath,//div[contains(@class, "exercise-tips")]//ol如果您真的想选择ol元素而不是提示的文本,则可以使用。

//ol[2]不选择任何节点,因为两个节点都是各自父ol节点的第一个子节点,而不是第二个子节点。但是,确实有效。有关更多详细信息,请参阅https://stackoverflow.com/a/52166328/5225301ol(//ol)[2]

于 2021-09-20T22:12:30.777 回答