为什么我无法在机器人框架上找到继续按钮

问题描述 投票:0回答:2

为什么我无法在 robotsframework seleniumlibrary 上找到“继续”按钮。

我尝试过以下 XPath 表达式:

//input[@id="btnProceed"]

//input[contains(text(),"btnProceed")]

来自 Chrome 浏览器的定位器。

<input type="submit" name="btnProceed" value="Proceed" id="btnProceed" title="Click to Proceed" class="btn">
selenium-webdriver robotframework
2个回答
0
投票

尝试右键单击该元素并复制 jspath,然后使用变量:

右键->检查->复制->jspath 多姆 =

示例:

${profile_element}        
    ...    dom=document.querySelector('xweb-shellbar').shadowRoot
    ...    .querySelector('div[id="shellbarContainer"] > ui5-shellbar-sf-header').shadowRoot
    ...    .querySelector('header > div:nth-child(3) > div > ui5-button-sf-header[data-ui5-stable="profile"]').shadowRoot
    ...    .querySelector('button')

Click Element    ${profile_element}

这样您就可以每次动态选择正确的元素。


0
投票

我认为由于某些原因可能会发生这种情况:

  1. 该按钮可能无法交互,因为:
  • 它位于 iframe 中。如果是在iframe中,先切换到iframe中

Select Frame    iframe_name_or_id

  • 它被 CSS 或 JavaScriptIt 隐藏或者尚未加载。等待元素变得可见。

Wait Until Element Is Visible   //input[@id="btnProceed"]

Wait Until Page Contains Element    //input[@id="btnProceed"]

  1. 如果按钮位于屏幕外或滚动到视图之外,selenium 可能无法找到它。使用
    Scroll Element Into View

Scroll Element Into View       //input[@id="btnProceed"]

您可以截屏来验证按钮是否可见。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.