2018年4月25日,星期三

如何在Selenium WebDriver中处理Bootstrap下拉菜单

在我们的 上一个位置我们已经见过 如何处理Selenium WebDriver中的下拉菜单 。在这篇文章中,我们将看到如何处理Bootsrap Dropdown。
Bootstrap下拉菜单和交互式下拉菜单通过使用以下列表动态定位和形成<ul> and <li> html tags.

以下是Bootstrap Dropdown的简单示例-

//www.w3schools.com/bootstrap/bootstrap_dropdowns.asp

影片教学- 
 

让我们看一下硒代码示例-

package test;

import java.util.List;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class BootstrapDropDown {
 
 ChromeDriver driver;
 
 @Before
 public  void setup(){
   
  System.setProperty("webdriver.chrome.driver", "C:\\Softwares\\chromedriver_win32\\chromedriver.exe");
  
      driver=new ChromeDriver();

       driver.manage().window().maximize();
  
        // start the application
  
       driver.get("//www.w3schools.com/bootstrap/bootstrap_dropdowns.asp");
  
 }
 
 @Test
 public void testBootStrap() throws Exception
 {
        // First we have to click on menu item then only dropdown items will display
  
       driver.findElement(By.xpath(".//*[@id='menu1']")).click();
  
  
        // adding 2 seconds wait to avoid Sync issue
  
        Thread.sleep(2000);
  
  
  
        // Dropdown items are coming in <a> tag so below xpath will get all
  
        // elements and findElements will return list of WebElements
  
        List<WebElement> list = driver.findElementsByXPath("//ul[@class='dropdown-menu test']//li/a");
  
  
  
        // We are using enhanced for loop to get the elements
  
        for (WebElement ele : list)
  
        {
  
           // for every elements it will print the name using innerHTML
  
           System.out.println("Values " + ele.getAttribute("innerHTML"));
  
  
  
           // Here we will verify if link (item) is equal to Java Script
  
           if (ele.getAttribute("innerHTML").contains("JavaScript")) {
  
              // if yes then click on link (iteam)
  
              ele.click();
  
  
  
              // break the loop or come out of loop
  
              break;
  
           }
  
        }
  
        // here you can write rest piece of code
  
    }
 
@After
public void tearDown()
{ 
 driver.quit();
}

}

6条评论:

  1. 我钦佩这篇文章的内容经过精心研究,而且措辞出色。我对这种材料投入如此之深,以至于我无法’不要停止阅读。你的工作和技能令我印象深刻。非常感谢。
    金奈HTML5课程

    回复删除
    回覆
    1. 我很高兴看到这篇文章。对于我们来说,这是一个内容丰富的博客,我们需要这种类型的博客,谢谢您的分享。 适用于学生的Python项目 数据分析是对原始数据进行剖析以便做出决策的研究。数据分析的进步和程序通常用于企业中,以使协会能够逐渐适应 钦奈的Python培训 明智的业务选择。在目前的全球商业中心,'足够汇编数据并进行数学运算;您应该意识到如何将这些数据应用于会影响行为的真实情况。在该程序中,您将首先精通专门技能,包括R和Python方言,这些常用于数据分析编程和使用。 钦奈的Python培训 鉴于行业细分领域中的真正业务问题,例如福利,促销和会计,此时,常识性应用围绕着常识应用。 钦奈项目中心

      删除
  2. 您已经在博客上很好地说明了这一点,这就是我可以通过引导程序创建很棒的下拉列表的方法,谢谢。 //www.technologist360.com/

    回复删除
  3. 我钦佩这篇文章的内容经过精心研究,而且措辞出色。我对这种材料投入如此之深,以至于我无法’不要停止阅读。你的工作和技能令我印象深刻。非常感谢。
    钦奈的引导培训

    回复删除
  4. 嗨Anuja!感谢您分享有用的帖子。非常感谢您的帮助。我正在尝试使我的Instagram自动化。使用find元素将帖子的链接存储在列表中时出现问题,但是滚动页面时大小会有所变化,滚动页面时大小会增加。如何处理这种情况?如果您愿意,这将很有帮助。提前致谢!

    回复删除
  5. 好贴。感谢分享!我希望人们知道您的文章中这些信息有多好。它’有趣的内容和出色的工作。
    谢谢& Regards,
    VRIT专业人员,
    钦奈排名第一的领先Web设计培训学院。

    回复删除