如果元素不可见,请任何人都可以帮助我从下拉列表中选择选项。 这是html标签:
<select id="visualizationId" style="width: 120px; display: none;" name="visualization">
<option value="day">Day</option>
<option value="week">Week</option>
<option selected="" value="month">Month</option>
正在研究selenium webdriver。以下代码不能正常工作。是否有任何示例代码可以选择不可见的元素。
Actions actions1 = new Actions(driver);
WebElement dBox1= ((new WebDriverWait(driver,60)).until(ExpectedConditions.elementToBeClickable(By.id("visualizationId"))));
selectByVisibleText("week");
actions1.moveToElement(dBox1);
actions1.click();
actions1.perform();
使用以下行时也会收到错误:元素当前不可见,因此可能无法与之交互 命令持续时间或超时:32毫秒
Select se=new Select(driver.findElement(By.id("visualizationId")));
se.selectByVisibleText("Week");
或
se.selectByValue("week");
请参阅html,那里的元素不可见。任何人都可以建议我如何使元素可见并选择选项。
答案 0 :(得分:2)
在这里,为了选择选项,我试图使用javascript(javascript因为它允许你与隐藏元素进行交互)点击元素。以下是代码,试一试。我不确定代码和语法(我不是java人),你仍然可以使用逻辑。
WebElement elementToSelect = driver.findElement(By.xpath(".//select[@id='visualizationId']/option[text()='Day']")
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", elementToSelect);
答案 1 :(得分:0)
您不需要=""
,只需selected
即可正常
另外,您如何从不可见的下拉列表中选择?没有什么可点击的
答案 2 :(得分:0)
所选属性是布尔属性。语法为<option selected>
。所以请在没有""
<option value="month" selected>Month</option>
答案 3 :(得分:0)
试试这段代码
Select se=new Select(driver.findElement(By.id("visualizationId")));
se.selectByVisibleText("week")
答案 4 :(得分:0)
我的错误,它的拼写错误错误地将“w”与“W”放错了地方 请试试这个
Select se=new Select(driver.findElement(By.id("visualizationId")));
se.selectByVisibleText("Week");
或
se.selectByValue("week");
答案 5 :(得分:0)
您只能与网页上可见的元素进行互动。你肯定可以得到不可见的元素(或它的一部分),但你不能用它做任何事情。如果要与此Select元素进行交互,首先需要确保它是可见的(Select元素的显示属性),以便您可以与它进行交互。