我试图通过单击“Précédent”按钮返回上一页 但是,我没有成功,我尝试了许多代码,所有这些都使我进入了登录页面,这意味着我注销了,
在页面中,如果您执行刷新或从另一个选项卡中打开它,它将断开连接并使您返回登录表单
所以,我最近弄清楚了如何在不断开连接的情况下使用相同的phantomjs会话,但是对于一页,我没有在没有注销的情况下无法访问另一页,但是有一个后退按钮,所以,我想使用返回首页,然后输入所需的页面
很抱歉造成混乱
代码
public void photoProfile() throws IOException {
// String locator = cssLocator;
String cookie = String.join("\n",Files.readAllLines(Paths.get("temp\\cookie.txt")));
Login webpage = new Login();
WebDriver driver = dd.driver;
driver.navigate().to("https://www4.inscription.tn/ORegMx/ListeInscriptions.jsp?Idsession="+cookie);
WebElement back = driver.findElement(By.xpath("//a[contains(text(),'Précédent')]"));
//back.click();
//Actions action = new Actions(driver);
//action.moveToElement(driver.findElement(By.xpath("//a[contains(text(),'Précédent')]"))).click().perform();
//action.moveToElement(back).perform();
//Right Click
//action.contextClick(back).perform();
//Actions builder = new Actions(driver);
// builder.moveToElement(back).click(back);
//builder.perform();
System.out.println(driver.getTitle()); //to check if the page is the correct one
我尝试过
WebElement back = driver.findElement(By.xpath("//a[contains(text(),'Précédent')]")).click;
但是我得到
类型不匹配不能从void转换为webelement
此按钮的javascript是
javascript:history.back()
我需要做什么?
答案 0 :(得分:0)
返回该错误是因为您试图调用.click();。设置WebElement时的方法,然后.click返回一个void。您需要将其分解为2个命令:
WebElement back = driver.findElement(By.xpath("//a[contains(text(),'Précédent')]"));
back.click();
答案 1 :(得分:0)
我猜这是因为网页的安全性所致,会话已过期,并且在登录后尝试返回时,您正在注销,尽管如果您能够手动返回,那么您应该可以执行此操作通过自动化。您正在尝试遵循以下方法返回上一页:
driver.navigate().back()