我正在寻找一种方法来停止循环,该循环继续单击“下一页”按钮,直到它在基于web的系统上不再可单击,这只由Onclick值的更改表示:
onclick="javascript:__doPostBack('m$main$RadGrid1$ctl00$ctl03$ctl02$ctl20','')"
到
^{pr2}$我的问题是,我目前没有办法让Selenium认识到这种变化已经发生。在
到目前为止,我已经能够写下这样的东西:
while (driver.find_element_by_class_name('rgPageNext').is_enabled()) is True:
time.sleep(1)
elem = driver.find_element_by_class_name('rgPageNext').click()
但是,该按钮始终处于启用状态,即使该按钮在到达最后一页后没有执行任何操作,这会导致Selenium不断尝试单击该按钮。在
检查按钮元素的完整信息如下:
<input type="button" name="m$main$RadGrid1$ctl00$ctl03$ctl02$ctl20" value=" " onclick="javascript:__doPostBack('m$main$RadGrid1$ctl00$ctl03$ctl02$ctl20','')" title="Next Page" class="rgPageNext">
<input type="button" name="m$main$RadGrid1$ctl00$ctl03$ctl02$ctl20" value=" " onclick="return false;__doPostBack('m$main$RadGrid1$ctl00$ctl03$ctl02$ctl20','')" title="Next Page" class="rgPageNext">
您可以尝试检查
'onclick'
属性,它的字符串是否以return false;
开始,如果是这样,您应该在此时结束循环。为此,请将while循环条件更改为-相关问题 更多 >
编程相关推荐