【问题标题】:How can Selenium Webdriver get text from popup mouseover elementSelenium Webdriver如何从弹出的鼠标悬停元素中获取文本
【发布时间】:2022-08-14 04:38:58
【问题描述】:
标签:
selenium
popup
alert
gettext
【解决方案1】:
的文本鼠标悬停在您所指的电子邮件字段的登录页面上是Constraint API's element.setCustomValidity() 方法的结果。
笔记:HTML5 约束验证不会消除服务器端验证的需要。尽管预期的无效表单请求要少得多,但不兼容的浏览器(例如,没有 HTML5 和没有 JavaScript 的浏览器)或试图欺骗您的 Web 应用程序的坏人仍然可以发送无效的表单请求。因此,与 HTML4 一样,您还需要验证服务器端的输入约束,其方式与客户端所做的操作一致。
解决方案
要检索 element.setCustomValidity() 方法产生的文本,您可以使用以下任一 Locator Strategies:
- 使用Python和选择器:
-
代码块:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver.execute("get", {'url': 'https://app.involve.me/login/?_ga=2.49216998.1374332121.1660294616-36640509.1660294616'})
print(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='email']"))).get_attribute("validationMessage"))
-
控制台输出:
Please fill out this field.