我尝试切换到警报,但它显示没有发现此类警报错误。我也尝试过 ifranes,windowhandling。弹出窗口仅停留 1-2 秒,我不能使用检查元素来获取它的 xpath。请检查随附的屏幕截图。
问问题
208 次
2 回答
1
您所指的警报窗口是约束 API方法的结果。https://www.phptravels.net/
element.setCustomValidity()
注意:HTML5 约束验证不会消除服务器端验证的需要。尽管预期的无效表单请求要少得多,但不兼容的浏览器(例如,没有 HTML5 和没有 JavaScript 的浏览器)或试图欺骗您的 Web 应用程序的坏人仍然可以发送无效的表单请求。因此,与 HTML4 一样,您还需要验证服务器端的输入约束,其方式与客户端所做的一致。
解决方案
要检索从该element.setCustomValidity()
方法产生的文本,您可以使用以下解决方案:
代码块:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.openqa.selenium.By; public class HTML5_input_field_validation_message { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); WebDriver driver = new FirefoxDriver(); driver.get("https://www.phptravels.net/"); WebElement checkin = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.form.input-lg.dpd1[name='checkin']"))); System.out.println(checkin.getAttribute("validationMessage")); } }
控制台输出:
Please fill out this field.
于 2018-12-03T10:26:02.667 回答
0
我们有可能执行鼠标操作并将鼠标移向元素,当鼠标指针移动到元素上时,我们将获得工具提示文本。
- 因此,获取元素和工具提示文本的定位器值。
- 使用元素定位器将鼠标指针移动到元素。
- 为工具提示文本创建 webelement 对象并获取文本。
于 2018-12-02T13:10:17.590 回答