谁能解释一下submit()和click()之间的确切区别
就像我的场景是我想访问这个site 。当我使用 click()
方法单击登录按钮时。站点不允许我访问内部页面,当使用 submit()
方法时,站点被重定向到另一个页面。
所以,我没有得到这两种方法之间的正确区别。请参阅下面的代码片段了解更多详细信息。
driver.get("https://www.ymlp.com/login.html");
driver.manage().window().maximize();
driver.findElement(By.id("T1")).sendKeys("test@gmail.com");
driver.findElement(By.id("T2")).sendKeys("test@1234");
driver.findElement(By.id("loginbtn")).submit();
当您执行上述代码时,站点重定向到另一个页面,现在只需将最后一行代码更改为下面提到的代码,站点就不允许我访问内部页面。
driver.findElement(By.id("loginbtn")).click();
有人可以帮我解决这个问题吗?我想知道为什么 click() 在这里不能正常工作。
最诚挚的问候。
最佳答案
即使您手动单击该按钮,也不起作用。这可能是一个应用程序问题。就 Submit() 而言,它可用于表单标签内的按钮。基本上您正在尝试提交表单。
如果您仔细查看 HTML,当您单击该按钮时,类值将更改为“btn btn-secondary preload isLocked”,并且如果您转到“网络”选项卡,则类值会更改为“btn btn-secondary preload isLocked”在控制台窗口中分析login.js,它们有一个函数
$(document).ready(function(){$("#T1").focus();$(".removeerrorontype").keypress(function(){$(this).removeClass("error");});$("#loginbtn").click(function(e){if($(this).hasClass("isLocked")){return false;}
所以,我觉得上述条件返回 false,因此它不会进一步移动。 “isLocked”在这里产生了一些影响。
关于java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42016834/