2016-12-01 105 views
0

我想从下拉列表中选择一个值,但我的脚本仍然失败。我选择的值是从Excel文档'管理器'作为值。从下拉列表中选择一个值

这里是我的xparth

enter image description here

,这里是我的控制台

enter image description here

我尝试不同的解决方案,但没有运气。下面的代码是我试图产生错误的代码。

Select select = new Select(driver.findElement(By.xpath("//*[@id='main']/div/div[2]/form/div[2]/div[7]/div/div[1]/div[1]"))); 
      select.deselectAll(); 
      select.selectByVisibleText(AGR); 

很感谢您的帮助。

+0

这不是一个传统的下拉列表包含选择标签选项标签,但值其它div标签。你将不得不编写代码来打开容器,并选择你想要的选项。 – Grasshopper

+0

@Grasshopper我该如何去做。任何示例可能都有用。先进的谢谢你。自动化中仍然是新的 – Djkgotso

+0

找到包含占位符文本“请选择”的输入元素。点击这个元素的代码。应该出现下拉菜单。这是包含在类'selectize-dropdown form-control single'的div中。您应该使用隐式等待来等待这个div的可见性。最后找到你想要选择哪个选项的选项,选择'selectize-dropdown-content'类,使用你想选择的文本作为xpath(text(),'blah blah')的定位策略。然后点击这个元素。如果我是正确的,应该工作。 – Grasshopper

回答

0

的代码应该是select.selectByVisisbleText( “经理”)。不接受部分文本。应输入完整的文本。

0

终于让我找到解决我的问题。我所要做的就是从excel文件中找到xPath并发送密钥,然后单击键盘上的Enter键。这意味着我可以更改Excel文档下拉列表中的名称,而不是在代码上对其进行硬编码。

WebElement webElement = driver.findElement(By.xpath("//*[@id='main']/div/div[2]/form/div[2]/div[7]/div/div[1]/div[1]/input"));//You can use xpath, ID or name whatever you like 
      driver.findElement(By.xpath("//*[@id='main']/div/div[2]/form/div[2]/div[7]/div/div[1]/div[1]/input")).sendKeys(AGR); 
      webElement.sendKeys(Keys.ENTER); 

希望我的解决方案可以帮助任何人遇到同样的问题。

相关问题