如何使用 XPath 在 HTML 中搜索标题?

How to search title in HTML using XPath?

我正在尝试从下面的 html 示例中获取 'RGF Administrator' 文本。困难在于标题可以采用两个值:'Application Settings' 或 'Параметры приложения'。同时,html 可能包含其他 title = 'Application options'.

的元素

我可以使用 xPath 吗?

<div>
    <button
    title="Application options">
        <span>
            <span>
                <bdi>
                    RGF Administrator
                </bdi>
            </span>
        </span>
    </button>
</div>

我使用 selenium,但无法确定 'RGF Administrator' 的 xPath。

xpath = "//*[@title='Параметры приложения' or @title='Application options']"

将不起作用,因为与此同时,html 可能包含标题为 'Application options' 的其他元素。

如果你使用的是selenium,那么你需要使用get_attribute(string)方法。因此,例如,当您找到元素 xpath:

element = driver.find_element_by_xpath("xpath")

然后

element.get_attribute("title")

获得Application options

在您的实际 xml 上尝试这个 xpath 表达式,看看它是否有效:

//div/button[@title = ('Параметры приложения', 'Application options')]//bdi/text()

您的网页上有多少个 bdi 容器?如果只有 1,你可以直接使用

//bdi

而且您不需要任何路径。