如何在 python 中使用 selenium 单击包含在多个 html 标签中的元素

How to click element that's contained within multiple html tags using selenium in python

我正在尝试在 python 上使用 selenium webdriver 开发网站自动化,但我无法点击某个标签。

我尝试自动化的网站非常旧并且包含多个 iframe 和 <'html'> 标记,这让我很难找到要单击的元素的 xpath。

这是使用浏览器的复制 xpath 功能生成的 xpath:

 /html/body/div/table[2]/tbody/tr/td/table/tbody/tr[1]/td[1]/table/tbody/tr/td/table/tbody/tr/td/div/span[2]/div[1]/img

但是,这个 xpath 似乎只考虑元素包含的最后一个 <'html'> 标记,而不是所有标记,因此它无法执行点击。

我尝试更改 <'html'> 标签的索引,例如

 html[2]/body/...

但是没用。

有什么想法吗?

您没有向我们展示您的任何代码,但我敢打赌它无法切换到目标框架。使用 iframe,您必须指示 webdriver switch_to 到每个 iframe,然后它才能在框架内找到元素。如果你用你的一些代码更新你的问题,我可以告诉你 switch_to 语句可能去哪里。