我在Selenium WebDriver的Java上编写了一个脚本,我从下拉菜单中选择了一个问题。
这是我的定位器:
new Select(driver.findElement(By.id("FormElement_select_68_input_input"))).selectByVisibleText("Image");
这是一个错误:http://prntscr.com/7jul03
这是HTML代码:http://prntscr.com/7jvou6 需要从此菜单中选择“图像”,但有错误。
在我遇到这样的错误之前,我无法上传文件,因为我需要切换到frame(0)。 但在这里我不知道为什么我不能从DropBox中选择菜单“Image”。
答案 0 :(得分:1)
您的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();
答案 1 :(得分:0)
您的html中不存在您要查找的元素ID“FormElement_select_68_input_input”,您的代码示例将“FormElement_select_283_input_container”显示为选择框元素。试试这个:
Select droplist = new Select(driver.findElement(By.Id("FormElement_select_283_input_container")));
droplist.selectByVisibleText("image");
答案 2 :(得分:0)
因为它不是Select tag。
尝试以下逻辑
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();
答案 3 :(得分:0)
根据HTML代码屏幕,我希望Select类(selectByVisibleText等)不起作用。你可以做一件事,试着直接点击所需的选项。 (可点击“// div [@ class ='selectbox-wrapper'] / ul / li [@ class ='selectbox_li'] [contains(text(),'Image')]”,检查一个是否正确或不在火道中)
让我知道结果..如果它不起作用,如上所述,你需要点击该输入下拉框并需要点击该图像。
谢谢你, 穆拉利