[英]Not able to select drop-down values in selenium
無法選擇硒中的下拉值。
HTML代碼是:
此代碼用於選擇-選擇客戶-
<div id="createTasksPopup_customerSelector" class="customerOrProjectSelector selectorWithPlaceholderContainer at-dropdown-list-btn-ct notSelected">
<table id="ext-comp-1057" class="x-btn-wrap x-btn at-dropdown-list-btn x-btn-over x-btn-focus" cellspacing="0" cellpadding="0" border="0" style="width: auto;">
<tbody>
<tr id="ext-gen397" class=" x-btn-with-menu">
<td class="x-btn-left">
<td class="x-btn-center">
<em unselectable="on">
<button id="ext-gen391" class="x-btn-text" type="button">- Select Customer -</button>
</em>
</td>
<td class="x-btn-right">
</tr>
</tbody>
</table>
</div>
現在,我需要選擇-所有活動的客戶-
<div id="ext-gen613" class="x-layer x-menu at-dropdown-list-btn-menu customerProjectListSelector customerListSelector createTasksCustomerProjectSelector" style="position: absolute; z-index: 15000; visibility: visible; left: 360px; top: 163px;">
<a id="ext-gen616" class="x-menu-focus" tabindex="-1" onclick="return false;" href="#"/>
<ul id="ext-gen617" class="x-menu-list">
<li id="ext-gen621" class="x-menu-list-item ">
<li id="ext-gen623" class="x-menu-list-item ">
<li id="ext-gen625" class="x-menu-list-item x-menu-item-active">
<a id="ext-gen626" class="x-menu-item" href="#">
<img class="x-menu-item-icon " src="/img/default/extjs/s.gif?hash=970179041"/>
- ALL ACTIVE CUSTOMERS -
</a>
</li>
<li id="ext-gen627" class="x-menu-list-item ">
</ul>
碼
driver.findElement(By.xpath(ObjRepoProp.getProperty("selectCustomer_XPATH"))).click();
Actions act = new Actions(driver);
act.sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).perform();
Thread.sleep(5000);
提前致謝
假下拉列表中的所有選擇都是A
標簽。 您應該能夠單擊以打開下拉列表,然后單擊包含所需文本的A
試試下面的代碼。
String searchText = "- ALL ACTIVE CUSTOMERS -";
driver.findElement(By.xpath(ObjRepoProp.getProperty("selectCustomer_XPATH"))).click();
List<WebElement> links = driver.findElements(By.cssSelector("#ext-gen617 a"));
for (WebElement link : links)
{
// this may need to be .contains() instead of .equals()
if (link.getText().trim().equals(searchText))
{
link.click();
break;
}
}
注意:如果id是動態的,則在看不到頁面並且無法刷新幾次並查看更改和不更改的情況下,我無法告訴您將其更改為什么。 我將從編輯CSS選擇器開始。 也許嘗試下面的一些,看看是否有任何工作。
driver.findElements(By.cssSelector("div.customerProjectListSelector a"));
driver.findElements(By.cssSelector("div.customerListSelector a"));
driver.findElements(By.cssSelector("div.createTasksCustomerProjectSelector a"));
嘗試以下方法:
Select dropdown = new Select(driver.findElement(By.id("createTasksPopup_customerSelector")));
dropdown.selectByVisibleText("- ALL ACTIVE CUSTOMERS -");
注意:-您也可以使用xpath
代替Id
。
讓我知道您是否遇到任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.