java - 如何使用 Selenium 检查叠加层上的文本?
问题描述
我正在使用 Selenium 单击网页上的按钮。该按钮创建一个可以立即下载的文件。为此,Internet Explorer 中显示了一个叠加层(是的,我必须使用此浏览器,这是一项要求)。
现在我必须检查叠加层上的文本(“öffnen oder speichern”见我的截图)。我可以想象它有一个使用 JavaScriptExecutor 的解决方案,但我根本找不到解决方案。
我也尝试在innerHTML中找到它——没有成功。
这不是警报,所以我不能使用 Driver.switchTo().alert();
我的代码仍然只包含使用 XPath 单击按钮的内容。
Actions action = new Actions(driver);
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
String exportButtonXPath = generalHelper.getProperty("buttonCSVExportXPath");
WebElement exportButton = driver.findElement(By.xpath(exportButtonXPath));
action.click(exportButton).perform();
解决方案
实际上,它不再与网络浏览器相关。您需要与它作为桌面窗口进行交互。
->如果你想使用 selenium 点击它,你可以定位它的坐标并使用 selenium 的坐标点击。
->如果你想接受下载,你可以找到默认接受下载的能力(IE除外)。
->如果您想检查文本值,请确保您必须将其自动化为桌面而不是网络。
推荐阅读
- macos - 无法使用 CMake 链接到 Mac 上的 .so 文件
- php - php 7.1 版干净的网址
- docker - Docker - Docker 容器的负载平衡
- oop - 带有动态 DTO 的下划线模板
- php - 使用 multi curl 获取所有 URL
- java - 在JavaFX中同步同一客户端的多个线程
- python - Python:使用 pandavro 无效数据类型 64 [ns] 生成 avro 模式
- list - 在 go 中创建一个包含列表类型的结构
- apache-kafka - 无法启动卡夫卡
- c++ - 我可以确定 const 引用在被另一个实体修改时会更新吗?