我的Java
package com.palash.healthcare;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class Login {
@Test
@Parameters({"URL","USERNAME","PASSWORD"})
public static void logindata(String url,String Username,String Password)
{
WebDriver driver = new FirefoxDriver();
driver.get(url);
driver.manage().window().maximize();
driver.findElement(By.id("email")).sendKeys(Username);
driver.findElement(By.id("pass")).sendKeys(Password);
driver.findElement(By.id("u_0_v")).click();
driver.findElement(By.id("userNavigationLabel")).click();
//driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
//driver.findElement(By.xpath("//span[@class='_54nh'][text()='Settings']")).click();
List<WebElement> All_List = driver.findElements(By.xpath("//ul[@class='_54nf']"));
for(WebElement li:All_List)
{
System.out.println(li.getText());
if(li.getText().equalsIgnoreCase("Settings"));
li.click();
}
}
}
我正在使用java编写selenium webdriver中的facebook设置链接脚本,但我无法点击设置链接,我也试过上面的代码。可以帮忙吗?对于关于脚本的html,您可以在“注销”按钮上方看到Facebook设置链接。
答案 0 :(得分:1)
不太清楚该列表发生了什么。如果我错了,我认为你不需要那个,但要纠正我。
我工作的网络应用程序真的很不稳定,有时你必须做一些奇怪的事情。尝试类似:
Actions actions = new Actions(driver);
WebElement settings = driver.findElement(By.xpath("//span[@class='_54nh'][text()='Settings']"));
actions.moveToElement(settings).build().perform();
settings.click();
这有点将.click()
分解为更小的步骤。
花了很长时间才让.click()
命令失效。它们在不同的Web应用程序中表现不同。
如果有效,请告诉我。
答案 1 :(得分:0)
您是否考虑过登录后导航到设置页面?这是https://www.facebook.com/settings。
答案 2 :(得分:0)
driver.findElement(By.id("userNavigationLabel")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//span[@class='_54nh'][text()='Settings']")).click();
得到答案只需要重建Xpath。