【问题标题】:How to click hidden angular elements in Selenium2Library using Robot framework如何使用 Robot 框架单击 Selenium2Library 中隐藏的角度元素
【发布时间】:2016-09-05 13:48:44
【问题描述】:

我的网页上有一个超链接。当我通过 Xpath 找到元素时,它匹配。当我执行相同的操作时,它会说:

.//span[@translate='home.onboarding.name'] 没有匹配任何元素

我已经尝试过使用 selenium webdriver 并执行相同的操作。请帮助我使用 Selenium2library 或任何替代选项在 Robot Framework 中转换相同的语法以查找隐藏元素。请查看下一个链接中的屏幕截图以供参考。Xpath and Inscpect element image for reference 任何帮助将不胜感激。谢谢。

Selenium 代码示例:

element = driver.find_element_by_xpath("//span[@translate='aside.nav.Operate.OnBoardDevices']")
driver.execute_script("$(arguments[0]).click();",element)

射频代码示例:

Click Element   xpath = //span[text()='CAMBIUM'] 
Sleep   3
Click Element   xpath = //span[@translate='home.onboarding.name']

【问题讨论】:

  • 那么你的错误到底是什么? “不可见”或“不匹配”?请同时向我们展示机器人代码。谢谢
  • 打开浏览器 ${cnMaestro_URL} ${Browser_Chrome} 单击按钮登录 输入文本名称=电子邮件 ${cloud_Username} 输入文本名称=密码 ${cloud_Password} 单击按钮登录单击元素 id=accountDetails-菜单单击元素 xpath = //span[text()='CAMBIUM'] 睡眠 3 bold单击元素 xpath = //span[@translate='home.onboarding.name'] 输入文本名称 = claimdevice 42-89-56-67-B0-0C,D8:D8:5F:3B:57:0E 点击按钮 Claim Devices Sleep 5 选择 Cancel On Next Confirm 关闭浏览器
  • Jim xpath = //span[@translate='home.onboarding.name'] 是我要点击的那个。这个元素可以通过我在第 1 条评论中提到的 webdriver 进行点击
  • 实际的错误文本是什么?
  • @jim 以下是我收到的错误 ValueError: Element locator 'xpath = //span[@translate='home.onboarding.name']' did not match any elements。您能否在第一条评论中检查 Xpath 并检查元素图像以供参考以获取更多信息。非常感谢您的回答

标签: angularjs selenium robotframework selenium2library


【解决方案1】:

您可以使用 Wait Until Element Is Visible 关键字来验证该元素确实可以点击。

但是,正如您在 cmets 中提到的,您的应用程序使用 AngularJS,我不得不建议您从 Selenium2Library 切换到 ExtendedSelenium2Library。它原生支持等待 Angular 中的元素。

【讨论】:

    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 2017-11-14
    • 2020-02-07
    • 2013-07-01
    • 2013-01-12
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    相关资源
    最近更新 更多