我正在旅行应用程序中工作。一旦填写了诸如出发地,目的地之类的详细信息,我就必须单击“提交”按钮。我尝试使用xpath单击提交按钮。但是,我无法提交。应用程序在内部加载,一旦单击提交的xpath。请参考屏幕截图。
硒代码:java driver.findElement(By.xpath(“ .//[@ id ='ctl00_cphMain_TravelRequest1_btnSubmit']”))。click();
请检查图像 Submitbutton- xpath code
答案 0 :(得分:0)
能否请您提供此问题的html代码, 该代码中必须存在元素, 您应该必须使用Submit()而不是单击Submit元素。
实际上,click()仅对(必须检查此条件)的Submit按钮起作用,submit()对所有表单元素起作用,并且执行Enter键之类的操作。 我希望这对您有用,
driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_btnSubmit']")).submit();
或尝试使用它,
driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_tpTravel_travel_gvTravel_ctl02_txtDuration']")).submit();
根据您的html代码,我们通过id获取元素,
driver.findElement(By.Id("ctl00_cphMain_TravelRequest1_btnSubmit")).submit();
答案 1 :(得分:0)
在您的情况下,可能是“提交”按钮是可见的,但无法按说明中所述单击。为此,您将必须等待,直到使用ExplicitWait方法无法单击该元素为止。在“提交”按钮变为可点击状态后执行点击操作:
希望以下代码可以解决您的问题。
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_btnSubmit']"))).click();
答案 2 :(得分:0)
有时click()
方法不起作用。请尝试使用以下代码一次,让我知道。
WebElement Login=driver.findElement(By.id("ctl00_cphMain_TravelRequest1_btnSubmit"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", Login);