【问题标题】:how to get text from a prompt warning in selenium java that disappears once I clicked on it如何从 selenium java 中的提示警告中获取文本,一旦我点击它就会消失
【发布时间】:2021-02-24 15:03:23
【问题描述】:

如何在此消息消失之前获取其中的文本

【问题讨论】:

  • 这可能会有所帮助:browserstack.com/guide/….
  • 请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: java selenium selenium-webdriver automation


【解决方案1】:

显示的消息来自 html 5 验证约束

https://html.spec.whatwg.org/multipage/input.html#the-required-attribute

那么您必须验证必填字段是否存在并且已被触发

一个示例html:

    <form>
      <label for="choose">Would you prefer a banana or a cherry?</label>
      <input id="choose" name="i_like" required pattern="[Bb]anana|[Cc]herry">
      <button>Submit</button>
    </form>

检查此消息的 java selenium 代码:​​

    driver = new ChromeDriver();

    driver.get("file:///C:/Users/prave/Desktop/push.html");
    WebElement field = driver.findElement(By.id("choose"));
    WebElement button = driver.findElement(By.tagName("button"));
    field.sendKeys("sdasd");
    button.click();
    
    JavascriptExecutor js = (JavascriptExecutor) driver;  
    
    //this will print the entire validity object shows which validity failed
    System.out.println(js.executeScript("return arguments[0].validity",field));

    //shows true if no validity failed else false if any failed
    System.out.println(js.executeScript("return arguments[0].validity.valid",field));
    
    //shows the validityErorMessage that would be shown
    System.out.println(js.executeScript("return arguments[0].validationMessage",field));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-26
    • 2018-02-02
    • 2022-01-14
    • 2021-09-02
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多