通过包含其子节点的文本查找类名

时间:2021-06-04 09:16:38

标签: html xpath

我对 HTML 和 Xpath 都不熟悉,所以我不确定我是否正确指定了我的问题。我使用 Selenium 从某些网站 (link) 中抓取一些数据。我发现,由于某种原因,我感兴趣的类的名称因页面而异,但是,该类包含一个子节点,而该子节点又包含一个按钮。这个按钮的所有页面都有相同的文本("aplikuj",因为有时会出现另一个带有 "aplikuj" 的按钮,我决定添加一些 RegEx "^aplikuj$")。我的问题是:如何在知道其子节点包含一个带有特定文本的按钮 ("^aplikuj$") 的情况下找到父类名称。如下图所示,我正在寻找 "col-box ego-box-tabs-border box-info" 类名(因页面而异)。

enter image description here

更新:我想提取 <p> 类的 "col-box ego-box-tabs-border box-info" 标签内的文本

1 个答案:

答案 0 :(得分:0)

基于此主题:XPath to select element based on childs child value

您可以通过以下代码选择 div 元素,该元素的子节点包含一个带有文本“aplikuj”的按钮:

//div[./p[./a[contains(text(), "aplikuj")]]]

然后,您可以扩展上面的代码以通过以下代码获取该 pdiv 元素的所有文本:

//div[./p[./a[contains(text(), "aplikuj")]]]/p//text()

相关问题