【问题标题】:Select a submenu with Robot Framework选择带有 Robot Framework 的子菜单
【发布时间】:2017-04-20 22:00:51
【问题描述】:

我需要浏览一个菜单并选择一个子菜单。

我正在使用如下点击元素 xpath:

//*[@id="gomenu68e1884541"]//nav/div/ul/li[3]/div/ul/li[2]/a

但这对我没有帮助,因为iddynamic 并且每次都在更改,当我访问应用程序时

如何导航菜单->子菜单

有关此的更多详细信息,请参阅下面提到的图片。

谁能帮忙?

【问题讨论】:

  • 你能发布你的导航HTML吗?
  • >如何导航菜单> 子菜单?通过不使用动态 id-s、直接后代路径和索引元素:)。 IE。不要采用浏览器为您生成的 xpath :) 提供问题中的 html 源代码,或公开可见系统的链接,我们会为您提供帮助。

标签: selenium-chromedriver robotframework


【解决方案1】:

我终于用这些命令让它工作了(甚至在菜单的第三级):

Wait Until Page Contains Element
Sleep
Mouse Over
Click Link

以及不同xpath的混合:

xpath=//*[@class="dropdown"]//a[contains(., 'Alumnos')]
xpath=//*[@class="dropdown"]/li[3]/div/ul/li[1]/div/ul/li[1]/a

感谢大家的帮助

【讨论】:

    【解决方案2】:

    我在使用 Xpath 时遇到了同样的问题。 js, vagy angular 等基于动态生成内容的网站根本不起作用。我在以前的自动化项目上花了很多时间,为此找到了解决方案:构建自己的 xpath。意味着不仅仅是Insect ElementChrome 和其他浏览器中,您必须自己构建它们,同时学习代码和网站的工作方式。这是你应该遵循的方法:

    • 熟悉前端客户端代码
    • 学习xpath
    • 构建自己的 xpath

    您必须找出如何在不使用@ids 的情况下到达想要的元素。使用很少随机更改的css classes,并找出元素之间的关系。您必须使用following-siblingtext() 以及其他不太知名的xpath 选择器。我建议你this 熟悉xpath。对我来说没有其他方法,但最终我得到了一个令人惊叹的、格式良好的变量文件,包含所有元素的 xpath。

    【讨论】:

    • 必须同意,除了学习之外别无他法。 Xpath 是一种(a 的子集)语言,与任何其他语言一样,甚至非常简单直接,而且我们在 selenium/webdriver 中使用的是大多数情况下的基本集。我无法想象在没有编程语言知识的情况下尝试编程。 w3c 是确定的资源,但也可以从 w3school 教程开始。看在上帝的份上,永远不要使用浏览器区分性别的 xpath/css :)
    猜你喜欢
    • 2014-03-13
    • 2014-11-01
    • 2015-12-09
    • 1970-01-01
    • 2018-06-05
    • 2018-08-23
    • 2022-01-22
    • 1970-01-01
    • 2012-01-17
    相关资源
    最近更新 更多