Java 硒测试中ng选择框存在问题

Java 硒测试中ng选择框存在问题,java,angularjs,selenium,ionic-v1,Java,Angularjs,Selenium,Ionic V1,我目前正在尝试测试某个网站的某个元素,该网站使用ionic作为其前端实现 我被这个使用ng select listbox的元素卡住了 我试图找到各种不同的答案,尝试了许多不同的方法组合,但仍然没有运气。目前,我的代码通过xpath查找此元素 我所尝试的: 选择类,不工作,错误消息为 ng select not select类型的元素 。单击,始终会收到的错误消息 元素在点处不可单击 Javascript执行器点击,什么也没发生 .sendKeys,无法聚焦元素或元素不是输入类型 还有一些其他的

我目前正在尝试测试某个网站的某个元素,该网站使用ionic作为其前端实现

我被这个使用ng select listbox的元素卡住了

我试图找到各种不同的答案,尝试了许多不同的方法组合,但仍然没有运气。目前,我的代码通过xpath查找此元素

我所尝试的:

选择类,不工作,错误消息为

ng select not select类型的元素

。单击,始终会收到的错误消息

元素在点处不可单击

Javascript执行器点击,什么也没发生

.sendKeys,无法聚焦元素或元素不是输入类型

还有一些其他的

我已经没有选择的余地了。我不知道如何与这个盒子互动。有没有其他可行的方法

此外,我还不清楚我应该与哪个元素进行交互?我在ngInput上尝试了SendKey,但它不接受输入。我在ng Select上尝试了Select

我的主要目标是模拟对所述元素的点击,就像用户从下拉列表中选择一样

下面是特定元素的HTML代码,用ionic编码

× 从列表中选择 ×
感谢您的帮助

虽然x路径可能有不同的变化,但以下内容更容易理解,因为元素是整个发布代码中的第一个具体元素:

driver.findElement(By.xpath("//span[contains(.,'Select from list')]")).click();
更新1:

1尝试在单击之前添加一些等待:

        WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//span[contains(.,'Select from list')]"))));

        driver.findElement(By.xpath("//span[contains(.,'Select from list')]")).click();
2您也可以尝试使用Javascript Executor:

      ((JavascriptExecutor) driver).executeScript("arguments[0].click();", driver.findElement(By.xpath("//span[contains(.,'Select from list')]")));

尝试单击使用操作类:

WebElement selectBox = driver.findElements(By.xpath("//span[contains(.,'Select from list')]")).get(1);

public static void actionClick(WebDriver driver, WebElement element) {
        Actions actions = new Actions(driver);
        actions.moveToElement(element).click().build().perform();
    }
现在,如果普通单击不起作用,那么可以使用Actions或类
元素选择框上的JavascriptExecutor

请澄清您要单击的确切目标元素是什么。该元素是哪个?目前只有一个,即×,其他选项是什么?就是这样,我粘贴的HTML基本上是整个Listbox元素。我不确定应该针对哪个元素,也不确定可以与哪个元素交互。我想模拟单击此框元素,但似乎无法执行此操作。尝试此操作后,得到的相同元素不可单击错误org.openqa.selenium.WebDriverException:未知错误:元素。。。在点697605处不可单击。其他元素将收到点击:我不知道如何格式化我的回答我尝试了两种方法,第一个选项给出的元素输出在点处不可点击,第二个选项没有直观地注册任何操作下拉屏幕未显示,盒子还没动。这部分其他元素会收到点击:有什么意思吗?就像有其他元素阻止了点击一样?@Richard:这意味着其他元素阻止了你的ng select视图。尝试添加一次50秒的超时时间。尝试此操作,结果与Javascript executor方法类似,单击后该框未被触动,并且没有显示任何视觉指示器下拉屏幕未出现。您可以使用控制台来单击该元素,如果可能,请使用控制台发布下拉列表的快照open@dangi13我不知道你这是什么意思,你能详细解释一下吗@Kushal好的,我相信这就是你要找的,按F12键,在控制台选项卡中写下以下几行: