Selenium 无法打印菜单名
我正在自动化免费的CRM网站。当我试图在索引页上捕获菜单名时(登录后),我会得到菜单名及其子菜单名(子菜单名为空)。我只是为Selenium 无法打印菜单名,selenium,selenium-webdriver,xpath,Selenium,Selenium Webdriver,Xpath,我正在自动化免费的CRM网站。当我试图在索引页上捕获菜单名时(登录后),我会得到菜单名及其子菜单名(子菜单名为空)。我只是为xpath而烦恼,只为主菜单找到xpath。我只想打印菜单名 URL: 代码: @Test public void Menus() throws Exception { driver=new FirefoxDriver(); driver.get("https://www.freecrm.com/index.html"); driver.findEl
xpath
而烦恼,只为主菜单找到xpath
。我只想打印菜单名
URL:
代码:
@Test
public void Menus() throws Exception {
driver=new FirefoxDriver();
driver.get("https://www.freecrm.com/index.html");
driver.findElement(By.name("username")).sendKeys("XXXXX");
driver.findElement(By.name("password")).sendKeys("XXXXX");
driver.findElement(By.xpath("//input[@class='btn btn-small']")).click();
WebDriverWait wait=new WebDriverWait(driver,20);
driver.switchTo().frame("mainpanel");
List<String> LS=new ArrayList<>();
List<WebElement> Tabs=driver.findElements(By.xpath("//div[@id='navmenu']//li//a[Starts-with(@style,'background')]"));
for(WebElement Ele:Tabs) {
LS.add(Ele.getText().trim());
}
System.out.println(LS);
String list=LS.stream().map(Object::toString).collect(Collectors.joining(","));
System.out.println("List length is.."+list.length());
String[] X=list.split(",");
for(int i=0;i<Tabs.size();i++) {
System.out.println(X[i]);
FileWriter Fr=new FileWriter("D://MyTxt//k.txt");
PrintWriter Pw=new PrintWriter(Fr);
Pw.println(X[i]);
}
}
List<String> LS=new ArrayList<>();
List<WebElement> Tabs=driver.findElements(By.xpath("//div[@id='navmenu']/ul/li/a"));
for(WebElement Ele:Tabs) {
LS.add(Ele.getText().trim());
}
System.out.println(LS);
[HOME, CALENDAR, COMPANIES, CONTACTS, DEALS, TASKS, CASES, CALL, EMAIL, TEXT/SMS, PRINT, CAMPAIGNS, DOCS, FORMS, REPORTS]
List length is..105
HOME
CALENDAR
COMPANIES
CONTACTS
DEALS
TASKS
CASES
CALL
EMAIL
TEXT/SMS
PRINT
CAMPAIGNS
DOCS
FORMS
REPORTS
@测试
public void Menus()引发异常{
驱动程序=新的FirefoxDriver();
驱动程序。获取(“https://www.freecrm.com/index.html");
driver.findElement(按名称(“用户名”)).sendKeys(“XXXXX”);
驱动程序.findElement(按名称(“密码”)).sendKeys(“XXXXX”);
findElement(By.xpath(//input[@class='btn btn small']))。单击();
WebDriverWait wait=新的WebDriverWait(驱动程序,20);
驱动程序。切换到()框架(“主面板”);
List LS=新的ArrayList();
列表选项卡=driver.findElements(By.xpath(//div[@id='navmenu']//li//a[以(@style,'background')]开头]);
用于(WebElement元素:选项卡){
添加(Ele.getText().trim());
}
系统输出打印项次(LS);
String list=LS.stream().map(对象::toString.collect(收集器.joining(“,”));
System.out.println(“列表长度为..”+List.length());
字符串[]X=list.split(“,”);
对于(inti=0;i更改Xpath,如下所示,以便仅获取菜单名
//div[@id='navmenu']/ul/li/a
代码:
@Test
public void Menus() throws Exception {
driver=new FirefoxDriver();
driver.get("https://www.freecrm.com/index.html");
driver.findElement(By.name("username")).sendKeys("XXXXX");
driver.findElement(By.name("password")).sendKeys("XXXXX");
driver.findElement(By.xpath("//input[@class='btn btn-small']")).click();
WebDriverWait wait=new WebDriverWait(driver,20);
driver.switchTo().frame("mainpanel");
List<String> LS=new ArrayList<>();
List<WebElement> Tabs=driver.findElements(By.xpath("//div[@id='navmenu']//li//a[Starts-with(@style,'background')]"));
for(WebElement Ele:Tabs) {
LS.add(Ele.getText().trim());
}
System.out.println(LS);
String list=LS.stream().map(Object::toString).collect(Collectors.joining(","));
System.out.println("List length is.."+list.length());
String[] X=list.split(",");
for(int i=0;i<Tabs.size();i++) {
System.out.println(X[i]);
FileWriter Fr=new FileWriter("D://MyTxt//k.txt");
PrintWriter Pw=new PrintWriter(Fr);
Pw.println(X[i]);
}
}
List<String> LS=new ArrayList<>();
List<WebElement> Tabs=driver.findElements(By.xpath("//div[@id='navmenu']/ul/li/a"));
for(WebElement Ele:Tabs) {
LS.add(Ele.getText().trim());
}
System.out.println(LS);
[HOME, CALENDAR, COMPANIES, CONTACTS, DEALS, TASKS, CASES, CALL, EMAIL, TEXT/SMS, PRINT, CAMPAIGNS, DOCS, FORMS, REPORTS]
List length is..105
HOME
CALENDAR
COMPANIES
CONTACTS
DEALS
TASKS
CASES
CALL
EMAIL
TEXT/SMS
PRINT
CAMPAIGNS
DOCS
FORMS
REPORTS
请发布菜单html。您发布的HTML看起来已损坏…提供完整的菜单HTML。您是否意识到在文件规范中使用了双斜杠?@sravani:您需要将xpath修改为//div[@id='navmenu']/ul/aThank u sooo:)