首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为何button.click()时不显示上传对话框?

为何button.click()时不显示上传对话框?
EN

Stack Overflow用户
提问于 2018-08-07 00:14:00
回答 1查看 0关注 0票数 0

我正在写一个自动化工具,我想打开上传文件对话框。假设这个页面:http://www.ulozto.cz/upload

当我执行时:

document.getElementsByName('upfile_0')[0].click() 

它不显示上传对话框。在JS中是否有处理此问题的方法,还是由于某些安全原因而阻止了这种可能性?我试着发送一些点击事件,但没有帮助。我不是页面所有者,所以我不能更改源代码,我只能在客户端使用JS。

EN

回答 1

Stack Overflow用户

发布于 2018-08-07 10:06:37

问题在于JS代码的安全性限制。(除了DevConsole之外,不能在任何地方运行JS去打开OpenFileDialog)。

问题的解决办法是:

  1. 用JS代码获取上传按钮的坐标
  2. 用CEF点击它:
public void MouseClick(int x, int y)
{
    Browser.GetBrowser().GetHost().SendMouseClickEvent(x, y, MouseButtonType.Left, false, 1, CefEventFlags.None);
    Thread.Sleep(15);
    Browser.GetBrowser().GetHost().SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.None);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档