如何在 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 语句可能去哪里。
我正在尝试在 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 语句可能去哪里。