我对 HTML 和 Xpath 都不熟悉,所以我不确定我是否正确指定了我的问题。我使用 Selenium 从某些网站 (link) 中抓取一些数据。我发现,由于某种原因,我感兴趣的类的名称因页面而异,但是,该类包含一个子节点,而该子节点又包含一个按钮。这个按钮的所有页面都有相同的文本("aplikuj"
,因为有时会出现另一个带有 "aplikuj"
的按钮,我决定添加一些 RegEx "^aplikuj$"
)。我的问题是:如何在知道其子节点包含一个带有特定文本的按钮 ("^aplikuj$"
) 的情况下找到父类名称。如下图所示,我正在寻找 "col-box ego-box-tabs-border box-info"
类名(因页面而异)。
更新:我想提取 <p>
类的 "col-box ego-box-tabs-border box-info"
标签内的文本
答案 0 :(得分:0)
基于此主题:XPath to select element based on childs child value
您可以通过以下代码选择 div
元素,该元素的子节点包含一个带有文本“aplikuj”的按钮:
//div[./p[./a[contains(text(), "aplikuj")]]]
然后,您可以扩展上面的代码以通过以下代码获取该 p
中 div
元素的所有文本:
//div[./p[./a[contains(text(), "aplikuj")]]]/p//text()