【问题标题】:How to find if web element is invisible or executed through Javascript如何查找 Web 元素是否不可见或通过 Javascript 执行
【发布时间】:2017-09-17 10:32:56
【问题描述】:

我正在尝试使用以下机器人框架代码在文本字段中输入一些文本,但未选择 web 元素。有人可以建议/指导我如何实现或如何识别 web 元素是否不可见或通过 Javascript 执行。以下是我尝试过的示例。

*** Settings ***
Library          Selenium2Library
Suite Teardown   close all browsers

*** Test Cases ***
Example using custom selenium keyword
    Open browser   https://10.12.60.110:21412/logon.jsp  browser=chrome
    Input Text       //input[@id='_id0:logon:USERNAME']      Administrator
    Input Text       //input[@id='_id0:logon:PASSWORD']      Welcome1

我曾尝试在机器人框架 Selenium2Library 中使用执行 JAVAscript 命令。

Export CSV from SAP BO
    Open browser   https://10.12.60.200:8443/BOE/BI    browser=chrome
    Execute Javascript      document.getElementById('_id0:logon:USERNAME').value='Administrator' ; 
    Execute Javascript      document.getElementById('_id0:logon:PASSWORD').value='Admin1' ; 
    Click Button       LOGIN

我已尝试使用 xpath,但未使用 xpath 选择元素。

<input id="_id0:logon:USERNAME" name="_id0:logon:USERNAME" type="text">

xpath 是 //input[@id='_id0:logon:USERNAME'],但输出没有匹配的节点。下面的 PFA 截图

【问题讨论】:

  • 你有没有间接尝试过://div[contains(@class, 'logonInput')]/input
  • @A.Kootstra 感谢您的回复。我试过了,但它说没有匹配的节点。我不确定该元素是否被隐藏或如何获取该元素。
  • 你试过转义吗? semi-column :通常用于“命名空间”。不确定其中有多少会起作用(它是 HTML,而不是 XML),但仍然。
  • 在 DOM 中的什么时候找不到元素?它甚至是根节点吗?

标签: selenium xpath robotframework selenium2library


【解决方案1】:

问题看起来来自登录在 iframe 中的事实 - 查看您的第一个屏幕截图,文档以 html > body > frame 开头。所以切换到它应该使其余的示例代码工作:

Select Frame     a_locator_for_that_iframe

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 2017-04-25
    • 2015-12-04
    • 1970-01-01
    相关资源
    最近更新 更多