我正在努力使工作在一个被禁用的提交按钮中单击,但它不应该被禁用。我有一个输入框,它有一个监听键按下如下:
function isValidEmailAddress() {
var pattern = "...."
if(pattern.test($('#input').val())){
$('#submitButton').removeAttr('disabled');
}else{
$('#submitButton').attr('disabled','disabled');
}
我有一个按钮,我必须点击:
^{pr2}$当我在页面上用键盘打字时,它就起作用了。但我不知道为什么在selenium中不知道如何更好地调试它。硒代码:
elem = self.browser.find_element_by_css_selector('input_css')
elem.clear()
elem.send_keys('string_to_write')
为了你的信息,元素是正确的,我检查过了。在
当我在输入框中写入正确的字符串后尝试单击按钮时,该按钮将被禁用。在
我试着为自己执行一个javascript:
self.browser.execute_script("arguments[0].removeAttribute('disabled')", selector)
其中selector是按钮。但它似乎不起作用,也没有抛出错误。在
在您的代码中,您似乎试图通过从DOM强制删除“disabled”属性来启用submit按钮。一种解决方案是使用xpath来更具体地选择元素(即只有在激活时才选择它)。您可以使用如下函数:
然后,您可以尝试单击刚刚找到的元素:
^{pr2}$祝你好运!在
如果以上不起作用,那是因为你的按钮在你的send_键后没有被激活。尝试引入1秒延迟来破解或者证实这个神话!;)
PS2另一种方法是搜索禁用的属性,如果找不到元素(即FALSE>;表示按钮已启用,则只使用前面指向“id”的xpath单击它)。element=disabled的xpath为:
因此,您可以将其存储在变量中,并从中控制流:
希望这有帮助!:)
相关问题 更多 >
编程相关推荐