使用 Selenium WebDriver 和 Java Robot 类上传文件

2023-12-09

我正在使用 Selenium WebDriver 和 Java,我需要自动化文件上传功能。我尝试了很多,但是当单击“浏览”按钮并打开一个新窗口时,脚本会停止进一步执行,并且会卡住。我尝试了 FireFox 和 IE 驱动程序,但没有成功。

我还尝试通过调用 autoit exe 文件,但是当单击“浏览”按钮打开新窗口时,特定语句

Runtime.getRuntime().exec("C:\\Selenium\\ImageUpload_FF.exe")

无法被执行。请帮忙


这应该适用于 Firefox、Chrome 和 IE 驱动程序。

FirefoxDriver driver = new FirefoxDriver();

driver.get("http://localhost:8080/page");

File file = null;

try {
    file = new File(YourClass.class.getClassLoader().getResource("file.txt").toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

Assert.assertTrue(file.exists()); 

WebElement browseButton = driver.findElement(By.id("myfile"));
browseButton.sendKeys(file.getAbsolutePath());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Selenium WebDriver 和 Java Robot 类上传文件 的相关文章

随机推荐

  • React Router V4 - 页面不会在更改的路由上重新渲染

    我正在构建一个小应用程序来学习 React 和 Meteor 要求用户输入一个位置 根据这个位置 用户被路由到一个新页面 该位置显示在页面顶部 以及基于该位置的数据库中的一些数据 还没有 这是我的 下一步 我将位置存储在组件的状态中 现在如
  • JavaScript - 如何提取 If/Else 语句中的字符串

    在搜索 imgNumber 变量后 我尝试使用 If Else 语句在屏幕上写入某些文本 由于某种原因 无论 imgNumber 变量中包含哪个文本 它都只写入字符串 cockroaches 此外 imgNumber 是一个随机字符串 它始
  • scala 中的闭包是如何实现的?

    创建函数时 如何将函数范围之外的变量拉入函数中 我尝试反编译 但我无法理解它 看起来它使用了 putfield putfield 是否创建一个指向对象引用的指针 答案是 这取决于 scala 2 11 版本可能会对此进行一些重大更改 希望
  • 显式 range-v3 decltype 计算结果为 void?

    我正在尝试获取范围的显式类型 将来我可能想将其存储为类中的字段 然而 由于某种原因 它评估为void include
  • @ManagedProperty 不反映更改并始终返回 null

    我试图将一个 sessionscoped bean 的值注入到 viewscoped bean 中 但它一直返回 null 这是一个片段 import javax faces application FacesMessage import
  • 通过大量连接优化 MySQL 查询

    我目前运行一个网站 该网站在列表中跟踪最新的分数和评级 该列表有数千个经常更新的条目 并且该列表应该可以按这些分数和评级列进行排序 目前获取这些数据的 Mysql 看起来像 大致 SELECT e SUM sa amount AS scor
  • 如何在 Appengine 中删除或重置搜索索引

    情况 好的 我们已经在 appengine 中安装了我们的应用程序 并激活了全文搜索 我们在文档上设置了一个索引 其中包含名为 日期 的字段 该字段是 DateField 现在我们更改了文档的模型 因此字段 date 现在是 Numeric
  • Hadoop 启用日志记录

    我正在尝试在单集群模式下使用从源代码构建的 hadoop 我检查了 0 22 0 alpha 1 我在日志记录方面遇到了一些问题 如何启用调试日志 我尝试添加 log4j logger org apache hadoop mapred Jo
  • 使 Excel 图表上的 X 轴和 Y 轴比例相等

    我希望 Excel 图表的 X 轴和 Y 轴在屏幕上具有相同的比例 因为我正在绘制地理数据 1 公里 x 1 公里的正方形应该看起来像一个正方形 而不是一个矩形 即地图在一个或另一个方向上不会被挤压 在 Matlab 中 执行此操作的命令是
  • 无法在 Cron 中运行 Python 脚本

    我有一个简单的 Python 脚本 我试图将其设置为 cron 作业 但它拒绝运行 当我单独运行它时 它确实会运行 并将其称为 python script py 我尝试在 crontab 中设置环境变量 但无法让它工作 我的 crontab
  • C 位标志枚举应如何转换为 C++?

    C 大部分是 C 的超集 但并非总是如此 特别是 虽然 C 和 C 中的枚举值都隐式转换为 int 但反之则不然 只有在 C 中 int 才会转换回枚举值 因此 通过枚举声明定义的位标志无法正常工作 因此 这在 C 中是可以的 但在 C 中
  • 在 PDF 页面上运行 Chrome 插件

    使用 Chrome 扩展程序 我想 检测当前选项卡是否已加载 PDF 文件 向 popup html 添加一个按钮以提供将 PDF 转换为 HTML5 的功能 获取 PDF 文件的 URL 并将其发送到在线服务 为了实现 1 我认为本页上的
  • Javascript:无法使用 getElementById 获取元素[重复]

    这个问题在这里已经有答案了 好的 我需要新的眼光 因为我还在这个问题上待了一个小时 这是我的简单 HTML 代码 testssio html 其中包含 javascript 脚本 div div 但这不起作用 使用调试器 我得到
  • 在 Android 中按下按钮时增加按钮的大小

    如何使按钮的大小在按下时稍微增大并在释放时再次减小 这是为了通过使用尺寸和不同的颜色来突出显示按下的按钮 问候 琪琪 做你的Button一个字段 并修改其大小OnTouchListener与之相关 使用 OnTouchListener 你可
  • Doctrine DQL 条件查询

    我正在尝试使用 Doctrine 的查询生成器构建动态查询 假设我还想在下面选择一个结束时间 仅当输入一个结束时间时 我如何有条件地将其添加到声明中 query this gt getEntityManager gt createQuery
  • Excel VBA - 如果单元格是整数,则删除整行

    我一直在尝试使用一些关于如何删除 Excel VBA 上的整行的代码片段 但我无法修改它们以包含 IsNumber 验证 我需要能够选择一个活动区域 例如 Set r ActiveSheet Range A1 C10 当它逐行浏览时 并检查
  • 脚本每 24 小时重新启动一次 Heroku [重复]

    这个问题在这里已经有答案了 我有一个 Python 中的 Telegram 机器人 但它大约每 24 小时在工作线程中通过相同的命令重新启动一次 我正在使用免费版本的 dynohours 如何禁用此重新启动 你不能 您必须设计您的应用程序
  • ruby on Rails f.select 具有自定义属性的选项

    我有一个表单选择语句 如下所示 f select country id countries map c c name c id 这段代码的结果是
  • 在快照侦听器中添加一个新文档时,Firestore 文档读取成本

    我有一个文档侦听器 可以侦听与此类似的前 25 个文档 db collection cities whereField state isEqualTo CA limit to 25 addSnapshotListener querySnap
  • 使用 Selenium WebDriver 和 Java Robot 类上传文件

    我正在使用 Selenium WebDriver 和 Java 我需要自动化文件上传功能 我尝试了很多 但是当单击 浏览 按钮并打开一个新窗口时 脚本会停止进一步执行 并且会卡住 我尝试了 FireFox 和 IE 驱动程序 但没有成功 我