Robot Framework / Selenium中的“可见”和“点击元素”之间有区别吗?

时间:2019-01-29 14:46:26

标签: selenium selenium-webdriver robotframework

这两行不能按预期运行:

wait until element is visible  ${my xpath}
SeleniumLibrary.click element  ${my xpath}

第二行出现故障的时间大约是一半。我现在不在电脑前,但是它要么因 stale element 而失败,要么因找不到ID为...的元素...

如果我在行之间添加sleep 3左右,则第二行永远不会失败。

这两行经常工作,但也经常失败。 RF如何检测可见的东西以及Selenium如何将点击发送到同一元素有什么区别?

2 个答案:

答案 0 :(得分:1)

简而言之,要回答您的问题,在RF如何检测到可见的事物与硒如何向同一元素发出点击之间没有区别。我查看了Selenium的源代码,并且两个函数都使用相同的locator参数。

@keyword
    def click_element(self, locator, modifier=False, action_chain=False):

@keyword
    def wait_until_element_is_visible(self, locator, timeout=None, error=None):

我建议使用的关键字是

wait until page contains element    ${my xpath}

这允许在查找元素之前完全加载网页。

答案 1 :(得分:0)

您可以在第一个关键字中包含自定义超时,而不使用睡眠。

Wait Until Element Is Visible  ${my xpath}  3 seconds
Click Element                  ${my xpath}