gpt4 book ai didi

selenium - 如何使用 Selenium Webdriver 跨浏览器点击<input type=file>?

转载 作者:行者123 更新时间:2023-12-02 17:03:02 25 4
gpt4 key购买 nike

我正在使用 Selenium 2 - WebDriver 处理文件选择器对话框。不管你相信与否,我的问题不是处理操作系统 native 文件选择器。这部分我可以处理!

问题是让 Selenium 正确单击“选择文件”按钮。由于原始源 html 很简单 <input type='file'> ,浏览器决定如何将其呈现为字段和按钮。因此,按钮的位置和命名会根据浏览器的不同而变化。我可以在 Chrome 中使用它,但这只是因为 Chrome 将按钮放在最左边的对齐方式上,而 Selenium 默认情况下恰好单击那里。

有什么想法吗?我不清楚这种类型的输入是否真的可以从 DOM 内导航......

最佳答案

在任何操作系统上上传文件的正确方法是

  1. 查找<input type='file'>元素。您无需担心不同的实现和精确定位。只需通过 xpath //input[@type='file'] 查找元素即可
  2. sendKeys()type() (或者以您的语言将文本写入元素的任何方法)该输入元素的文件路径。

示例 Java 代码:

// find the input element
WebElement elem = driver.findElement(By.xpath("//input[@type='file']"));
// 'type' the file location to it as it were a usual <input type='text' /> element
elem.sendKeys("C://path/To/File.jpg");

这适用于 WebDriver 中的每个操作系统和浏览器。

关于selenium - 如何使用 Selenium Webdriver 跨浏览器点击&lt;input type=file>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9726005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com