WebDriver 无法获取下拉菜单元素 (Java)



我在Java上为Selenium WebDriver编写了一个脚本,从下拉菜单中选择时遇到了问题。

这是我的定位器:

new Select(driver.findElement(By.id("FormElement_select_68_input_input"))).selectByVisibleText("Image");

以下是一个错误:http://prntscr.com/7jul03

以下是HTML代码:http://prntscr.com/7jvou6需要从此菜单中选择"图像",但出现错误。

在我出现这样的错误之前,我无法上传文件,因为我需要切换到第(0)帧。但在这里我不知道为什么我不能从DropBox中选择菜单"图像"。

你的ID是动态的,所以你不能使用它。选择在你的情况下不起作用,你只需要使用两次点击

WebElement dropdown = driver.findElement(By.xpath("//div[@class='select-pad-wrapper AttributePlugin']/input"));
dropdown.click();
WebElement element = driver.findElement(By.xpath("//div[@class='select-pad-wrapper AttributePlugin']/div/ul/li[text()='Image']"));
element.click();

您要查找的元素id"FormElement_select_68_input_input"似乎不存在于html中,您的代码示例显示"FormElement.select_283_input_container"作为选择框元素。试试这个:

Select droplist = new Select(driver.findElement(By.Id("FormElement_select_283_input_container")));   
droplist.selectByVisibleText("image");

因为它不是Select标记。

尝试使用以下逻辑

WebElement div = driver.findElement(By.cssSelector("div[id*='FormElement_'] > div > div"));
div.click();
WebElement li = div.findElement(By.xpath(".//ul/li[text()='Image']"));
li.click();

根据HTML代码屏幕,我预计Select类(selectByVisibleText等)不起作用。你能做一件事吗,试着直接点击所需的选项。(可以点击"//div[@class='selectbox-wrapper']/ul/li[@class='selectbox_li'][contains(text(),'Image')]",检查一个是否正确)

让我知道结果。。如果它不起作用,如上所述,你需要点击输入下拉框,然后点击图像。

谢谢,Murali

最新更新