html - 如何找到框架集中元素的 XPath?

标签 html css xpath selenium

我正在尝试为 Selenium 编写测试用例,但在查找元素时遇到了一些问题。我相信这是因为我的网站使用了 HTML 框架集。

如果我打开 Firebug,并尝试简单地选择所有链接:

//a

...我没有得到任何结果(尽管“菜单”框架包含大约 15 个以上的链接)。

如果我右键单击菜单框架并选择“仅显示此框架”,然后选择 Firebug 中的所有链接,我会返回所有 15 个以上的链接.

这让我相信 X-Path 无法遍历特定框架内的元素。是真的吗?

当网站显示所有框架时,我可以选择特定框架:

//frame[@name='menu']

...但是尝试深入到以该 X-Path 开头的链接不起作用:

//frame[@name='menu']//a
//frame[@name='menu']@@@//a <-- Special '@@@' syntax I read about somewhere to try.

感谢任何尝试使用 X-Paths 解决此问题的帮助。如果 CSS 选择器可以工作,我也可以在那里使用一些指针。谢谢!

jg

最佳答案

如何先选择相关的 iframe,然后使用该框架内的 xpath。


Ruby 示例代码

iframename = @driver.execute_script("return document.getElementById('IDName').getElementsByTagName('iframe')[0].getAttribute('Attributename')")
@driver.switch_to.frame iframename

# then work with the xpaths
@driver.find_element(:xpath, "//section[@id='SomeId']/div").click

这应该会有所帮助,除非我答错了问题。

关于html - 如何找到框架集中元素的 XPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929824/

相关文章:

html - float div 不适用于 float 或显示

html - 中心垂直在参与 div 不是容器

html - 如何在跨度中包装文本?

html - flex-grow = 1, width : auto and just width: 100% 的区别

python - 如何使用 XPath 提取同一标签下的所有文本?

javascript - 是否有可能在 JS 和 jQuery 中处理除 'this' 之外的同一类的所有元素

javascript - 如何打印与显示完全相同的 Bootstrap 模态?

html - 将背景颜色应用于具有背景图像的容器

python - 如何通过 Selenium 和 Python 根据 html 找到元素的 Xpath

xpath - 使用 XMLSearch 在 XML 元素中搜索的方式正确还是错误?