【发布时间】:2021-08-26 04:06:22
【问题描述】:
点击元素或点击按钮在机器人框架中不起作用。
登录页面的简单代码块
${chromeOptions}= Create Dictionary acceptInsecureCerts=${True}
Open Browser ${url} ${browser} desired_capabilities=${chromeOptions}
Maximize Browser Window
sleep 5s
Wait Until Page Contains Welcome to Mavenir CMS.
Input Text name:user name ${username}
Input Text name:password ${password}
Wait Until Page Contains Element xpath://button[@type="submit"]
Click Button xpath://button[@type="submit"]
# Press Keys \ ENTER
sleep 15s
Wait Until Page Contains Element xpath:${home_settings}
实际上,在同一仪表板的先前版本之前,相同的代码一直在工作。现在尝试单击元素时出现错误
代码通过直到Wait Until Page Contains Element xpath://button[@type="submit"]
该元素已加载并且可用,但是当我尝试单击它时,它没有发生。
我尝试为同一个按钮提供不同的定位器方式,如下所示:
xpath://button[contains(text(),'Login')]
类:btn-primary
xpath:/html/body/my-app/div/headerapp/div/div[2]/login/div[1]/div/div/div[2]/form/div[3]/button[ 1]
css:body > my-app > div > header-app > div > div.col-md-12 > login > div.login-overlay > div > div > div.login-right.pull-right > form > div.group.pull-top-2 > button.btn-primary
和上面代码块中看到的那个。 所有这些都返回相同的异常--> ElementClickInterceptedException
我尝试在两者之间添加睡眠,但仍然是同样的问题。
有效的是,如果单击元素/按钮,我给了Press Keys \\ ENTER
它工作并且登录成功,但是一旦登录到仪表板,当我再次尝试单击其中的任何其他元素/选项卡时,得到相同的异常。所以基本上除了点击操作我什么都能做,但点击是最重要的。
无法找到解决此问题的方法。任何帮助深表感谢。谢谢
【问题讨论】:
-
Robot Framework 没有问题,只是您与网页交互的方式有问题。仔细看看错误,通常 selenium 会给你正在接收点击的对象,这将是发生了什么的线索。它可能是几件事,屏幕上的弹出窗口,它在 ui 中不可见等,所以没有网页代码就不可能指出错误
-
感谢您的回复克劳迪奥。这是本例中尝试点击的网页元素代码。
标签: selenium automation robotframework ui-automation