Java 使用Selenium自动化组合框(下拉+复选框)

Java 使用Selenium自动化组合框(下拉+复选框),java,selenium,drop-down-menu,Java,Selenium,Drop Down Menu,我正在尝试自动在网站Naukri.com上进行下拉。该下拉列表由多选复选框组成。我们如何使用Selenium Web驱动程序实现自动化 下拉列表的结构是: <div class="DDwrap"> <ul class="DDsearch"> <li class="tagit" data-id="tg_indCja_a8_A"> <span class="tagTxt">Accounting , Finance</sp

我正在尝试自动在网站Naukri.com上进行下拉。该下拉列表由多选复选框组成。我们如何使用Selenium Web驱动程序实现自动化

下拉列表的结构是:

<div class="DDwrap">
<ul class="DDsearch">
    <li class="tagit" data-id="tg_indCja_a8_A">
         <span class="tagTxt">Accounting , Finance</span>
         <span class="dCross"></span>
    </li>
   <li class="frst" style="float: left;">
   <input id="cjaInd" class="srchTxt" type="text" placeholder="" name="" autocomplete="off"   style="width: 30px;">    
   <input id="hid_indCja" type="hidden" name="indType" value="["8"]">
   </li>
</ul>
</div>
有人能帮我一下吗?

查看下面的代码,它导航到相关表单,打开行业下拉列表并选中两个复选框:“会计、财务”和“政府、国防”:


@里基:如果它对你有用,请把它也标记为答案。谢谢我想我以后也会赶上你的……因为我对自动化还不熟悉;您好,Shubh,您还可以帮助自动创建作业警报页面,因为其中使用了一些动态类名。如果我从行业中删除//div[@class='DDWrap'并从//input开始使用xpath,这对我来说很有效。但这不是唯一的。你能帮忙吗?如果你问一个新问题会更好。它会帮助其他人,也会帮助你。除了最初发布的内容之外,延长关于这个问题的对话是不好的。谢谢..:
WebDriver driver = new FirefoxDriver(); //Opening firefox instance

driver.manage().window().maximize(); //maximizing window
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); //Giving implicit timeout of 20 seconds

driver.get("http://www.naukri.com/");


//Since there are two windows popping up, hence switching and closing the unnecessary window.
Set<String> windows = driver.getWindowHandles();        
Iterator iter = windows.iterator();
String parentWindow = iter.next().toString();
String childWindow = iter.next().toString();        
driver.switchTo().window(childWindow);
driver.close();
driver.switchTo().window(parentWindow);

//Hovering over "Jobs"
Actions act = new Actions(driver);
WebElement jobs = driver.findElement(By.xpath("//ul[@class='midSec menu']//div[.='Jobs']"));
act.moveToElement(jobs).build().perform();

//Clicking on "Advance Search"
WebElement Adv_search = driver.findElement(By.xpath("//ul[@class='midSec menu']/li[1]//a[.='Advanced Search']"));
act.moveToElement(Adv_search).click().perform();

//Clicking on the industry dropdown
driver.findElement(By.xpath("//div[@class='DDinputWrap']/input[contains(@placeholder,'Select the industry')]")).click();

//Selecting the checkbox containing text as "Accounting"
driver.findElement(By.xpath("//ul[@class='ChkboxEnb']//a[contains(text(),'Accounting')]")).click();

//Selecting the checkbox containing text as 'Government' 
driver.findElement(By.xpath("//ul[@class='ChkboxEnb']//a[contains(text(),'Government')]")).click();