我有一个上传文件按钮,如下所示:<a href="javascript:void('');"></a>
尝试使用sendKeys()
方法通过文件上传文件。
但出现错误无法专注于元素。有没有解决方法或使用<a>
标签上传文件的方法?
我用这个:
driver.findElementsByXPath("//a[@title='Upload an image']").get(0).sendKeys(System.getProperty("user.dir") + "\files\image.jpg");
还尝试过click()
和moveToElement(element).build().perform()
来专注于元素。
答案 0 :(得分:0)
否,将无法通过 <a>
标签上传带有硒的文件。
文件上传是通过以下方式实现的:
<input>
标签。<input>
标签在被任何字符序列 相反,
<a>
标签的属性如下:
charset
:定义链接文档的字符编码。coords
:指定适合shape属性的坐标,以定义图像映射的图像区域href
:指定页面的URL或链接指向的锚点的名称。hreflang
:目标URL的语言代码。name
:标记链接跳转到的页面区域。rel
:描述当前文档和目标URI之间的关系。rev
:指定目标URL和当前文档之间的关系。shape
:指定图像图的形状。target
:在何处打开目标URL。type
:指定目标URL的MIME(多用途Internet邮件扩展名)类型accesskey
:访问键(或快捷键)。class
:文档范围的标识符。dir
:指定文本的方向。id
:文档范围的标识符。tabindex
:当用户“浏览”页面上的元素时,帮助确定其跳转顺序。title
:指定与元素关联的标题。style
:帮助添加内嵌casecadubf样式表。lang
:设置语言代码。 <a>
标签的事件属性如下:
onfocus
:脚本在元素获得焦点时运行。onblur
:脚本在元素失去焦点时运行。onclick
:当鼠标单击时脚本运行。ondblclick
:当鼠标双击时脚本运行。onmousedown
:按下鼠标按钮时脚本运行。onmouseup
:脚本在释放鼠标按钮时运行。onmouseover
:当鼠标指针移到某个元素上时,脚本运行。onmousemove
:脚本在鼠标指针移动时运行。onmouseout
:当鼠标指针移出元素时,脚本运行。onkeypress
:按下并释放键时脚本运行。onkeydown
:按下键时脚本运行。onkeyup
:脚本在释放键时运行。因此,理想情况下, <a>
标签还应该能够获得 focus 。
但是由于您看到的错误是 ...无法专注于元素... ,可能是由于其他因素导致的超出范围
文件上传只能通过 <input>
标签完成。