动态下拉元素上的Selenium Java选择选项不可见

动态下拉元素上的Selenium Java选择选项不可见,java,select,selenium,selenium-webdriver,Java,Select,Selenium,Selenium Webdriver,我不是硒专家,但我正在尝试做一些看起来很简单的事情。我已经在这里搜索过了,除了一些我真的不知道如何使用的JavaScript执行器之外,所有选项都不起作用,但即使这样,看起来还是有点黑客行为,除非你应该这样写selenium 第一个问题是我不能按id选择,因为它总是不同的,但出于调试目的,我一直在使用丑陋的xpath至少单击下拉列表: xpath("/html/body/div[4]/div/div/form/div/div[4]/div[2]/span/div").click() 但是现在,

我不是硒专家,但我正在尝试做一些看起来很简单的事情。我已经在这里搜索过了,除了一些我真的不知道如何使用的JavaScript执行器之外,所有选项都不起作用,但即使这样,看起来还是有点黑客行为,除非你应该这样写selenium

第一个问题是我不能按id选择,因为它总是不同的,但出于调试目的,我一直在使用丑陋的xpath至少单击下拉列表:

xpath("/html/body/div[4]/div/div/form/div/div[4]/div[2]/span/div").click()
但是现在,当我做一个

xpath("/html/body/div[4]/div/div/form/div/div[4]/div[2]/span/select").select("boolean");
其中.select只是执行以下操作的包装器:

Select.selectByValue();
我得到一个不可见的元素,即使它是!任何帮助都将不胜感激,因为这让我发疯。我将继续尝试其他人在其他问题上提出的建议,但到目前为止,还没有。你是否尝试过:

driver.findElement(By.id("#input439_chzn")).click();
driver.findELements(By.cssSelector(#input439_chzn > div > ul > li:nth-of-type(2)));
这将在下拉列表中选择第二项


如果您想要一个随机项目,请获取下拉列表的大小,并在1和大小之间进行随机操作。

是否可以发布更多代码?