为了账号安全,请及时绑定邮箱和手机立即绑定

即使在移动到元素并在 Selenium Java 中显式等待后,元素也不可交互

即使在移动到元素并在 Selenium Java 中显式等待后,元素也不可交互

米脂 2023-04-26 17:08:05
当我点击供应商框时,它会弹出一个选项列表,您可以滚动到或键入您想要的内容并选择。该框有一个明确的 ID,并且在实际页面上肯定是可交互的,但是当我运行测试时,它只是说元素不可交互。我已经阅读了其他线程并尝试使用 Actions 移动到元素并显式等待,当我完成后,抛出了一个错误“等待元素的可见性”。//尝试移动到元素    Actions action = new Actions(driver);    action.moveToElement(driver.findElement(By.id(TransactionUIConstants.VENDOR_SEARCH)));    WebDriverWait wait = new WebDriverWait(driver, Page.TIMEOUT);    wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("vendor"))));     wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.id("vendor"))));    //What I'm trying to click    driver.findElement(By.id("vendor")).click();    driver.findElement(By.id("vendor")).sendKeys("Amazon");    driver.findElement(By.id("vendor")).sendKeys(Keys.ENTER);这是检查选项卡中的描述:input name="" id="vendor" type="text" autocomplete="nope" placeholder="Select option" tabindex="0" class="multiselect__input" style="width: 0px; position: absolute; padding: 0px ;"
查看完整描述

5 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

如果它有选择标签,您可以尝试使用选择类。我假设它可能是一个多选下拉列表



查看完整回答
反对 回复 2023-04-26
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

mail.smtp.host=smtp.gmail.com

mail.smtp.socketFactory.port=465

mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

mail.smtp.auth=true

mail.smtp.port=465

mail.transport.protocol=smtp



resource folder-1


查看完整回答
反对 回复 2023-04-26
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

utility class- 2


 private Folder folder;


  public enum EmailFolder {

    INBOX("INBOX"),

    SPAM("SPAM");


    private String text;


    private EmailFolder(String text){

      this.text = text;

    }


    public String getText() {

      return text;

    }

  }


查看完整回答
反对 回复 2023-04-26
?
慕少森

TA贡献2019条经验 获得超9个赞

   <dependency>

        <groupId>javax.mail</groupId>

        <artifactId>javax.mail-api</artifactId>

        <version>1.5.5</version>

    </dependency>


    <dependency>

        <groupId>com.sun.mail</groupId>

        <artifactId>smtp</artifactId>

        <version>1.6.0</version>

    </dependency>


    <dependency>

        <groupId>com.sun.mail</groupId>

        <artifactId>javax.mail</artifactId>

        <version>1.6.0</version>

    </dependency>


查看完整回答
反对 回复 2023-04-26
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

/**

   * Uses email.username and email.password properties from the properties file. Reads from Inbox folder of the email application

   * @throws MessagingException

   */

  public EmailUtils() throws MessagingException {

    this(EmailFolder.INBOX);

  }


  /**

   * Uses username and password in properties file to read from a given folder of the email application

   * @param emailFolder Folder in email application to interact with

   * @throws MessagingException

   */

  public EmailUtils(EmailFolder emailFolder) throws MessagingException {

    this(getEmailUsernameFromProperties(),

        getEmailPasswordFromProperties(),

        getEmailServerFromProperties(),

        emailFolder);

  }


  /**

   * Connects to email server with credentials provided to read from a given folder of the email application

   * @param username Email username (e.g. janedoe@email.com)

   * @param password Email password

   * @param server Email server (e.g. smtp.email.com)

   * @param emailFolder Folder in email application to interact with

   */

  public EmailUtils(String username, String password, String server, EmailFolder emailFolder) throws MessagingException {

    Properties props = System.getProperties();

    try {

      props.load(new FileInputStream(new File("resources/email.properties")));

    } catch(Exception e) {

      e.printStackTrace();

      System.exit(-1);

    }


    Session session = Session.getInstance(props);

    Store store = session.getStore("imaps");

    store.connect(server, username, password);



    folder = store.getFolder(emailFolder.getText());

    folder.open(Folder.READ_WRITE);

  }


查看完整回答
反对 回复 2023-04-26
  • 5 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信