如何使用 class 获取我之前找到的图像的 xpath?

How to get xpath of an image that I found earlier using its class?

所以,我有一张 HTML class 'anImage' 的图像。此图像的 XPath 为:

.//*[@id='mainBody']/table/tbody/tr[variable]/td[2]/img

每次看网站variable都会变,可以是4个,可以是7个等等

在那张图片旁边我有一张我想点击的图片,它的 xpath 为:

.//*[@id='mainBody']/table/tbody/tr[variable]/td[7]/a/img

所以我的想法是:

  1. 使用它找到第一张图片 class
  2. 获取其 xpath
  3. 从 xpath 中提取变量
  4. 使用变量和 xpath 的其余部分查找其他元素

现在:如何获取第一个元素的 xpath?

如果有人还没有注意到,我正在使用 python 和 selenium。

您可以在 单个 XPath 表达式中完成:

.//*[@id='mainBody']/table/tbody/tr[td[2]/img[contains(@class, 'anImage')]]/td[7]/a/img

tr[td[2]/img[contains(@class, 'anImage')]] 部分是关键部分 - 基本上,我们在第二个 td 中找到包含带有 class anImage 图像的行。然后,在该行中,我们在第 7 个 td 元素的 a 标签中获取 img 标签。