我试图通过使用带有Selenium2库的Robot Frame Work在RIDE IDE中单击具有javascript onclick函数的行。
<tr class="lstrow" onclick="javascript:selectItem(this);" onmouseover="javascript:this.className='rowhover';" onmouseout="javascript:this.className='row';">
当我在以下xpath处执行click事件时,它表示未找到路径中的元素。
// * [@ id =“ myList”] / tbody / tr [0]
通过检查元素,我可以确认此行在其中。还尝试将“ rowhover”类指向此xpath,但仍未成功。甚至不确定我是否真的可以在特定的xpath中选择特定的类。
// * [@ id =“ myList”] / tbody / tr [0] [包含(@ class,'rowhover')] //不确定是否正确
答案 0 :(得分:1)
所需元素是启用了JavaScript的元素,因此您需要引发 wait ,并且可以使用以下两种解决方案之一/两者(合并):
Python解决方案
Wait Until Element Is Visible
:
Wait Until Element Is Visible xpath=//tr[@class="lstrow"] 20 seconds
Set Focus To Element xpath=//tr[@class="lstrow"]
# invoke click
Wait Until Element Is Enabled
:
Wait Until Element Is Enabled xpath=//tr[@class="lstrow"] 20 seconds
Set Focus To Element xpath=//tr[@class="lstrow"]
# invoke click
您可以在Robotframework: Selenium2Lib: Wait Until (…) Keywords
中找到有关Wait Until Element Is Visible
和Wait Until Element Is Enabled
的详细讨论