Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 无法打印菜单名_Selenium_Selenium Webdriver_Xpath - Fatal编程技术网

Selenium 无法打印菜单名

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

我正在自动化免费的CRM网站。当我试图在索引页上捕获菜单名时(登录后),我会得到菜单名及其子菜单名(子菜单名为空)。我只是为
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:)