使用 Chromedriver 将文件上传到使用 plupload.Uploader 的网站
Upload a file with Chromedriver to a website that uses plupload.Uploader
我正在尝试将文件上传到网站,但是标准 SendKeys
方法不起作用,因为该网站使用 plupload.Uploader()
上传文件。
浏览按钮:
<button type="button" id="media-browse-button" class="btn btn-primary" style="position: relative; z-index: 1;">Browse...</button>
plupload:
var media_uploader = new plupload.Uploader({"runtimes":"html5","browse_button":"media-browse-button","container":"media-container","url":"\/upload","headers":{"Accept":"application\/json"},"chunk_size":"512kb","multipart_params":{},"filters":{"mime_types":[{"title":"Audio files","extensions":"mp3,m4a"}]}});media_uploader.init();document.getElementById('media-start-upload').onclick = function() {media_uploader.start();};
我试过:
string MediaFilePath = "file path here"
driver.FindElementByXPath("//*[@id=\"media-browse-button\"]").SendKeys(MediaFilePath);
然而,这只会打开一个浏览文件对话框,不会上传任何内容。
如果在整个网页中有
//input[@type='file']
然后 SendKeys
将 upload
文件。
string MediaFilePath = "file path here"
driver.FindElementByXPath("//input[@type='file']").SendKeys(MediaFilePath);
请注意,您不应单击上传按钮,这样就可以完成工作。
我正在尝试将文件上传到网站,但是标准 SendKeys
方法不起作用,因为该网站使用 plupload.Uploader()
上传文件。
浏览按钮:
<button type="button" id="media-browse-button" class="btn btn-primary" style="position: relative; z-index: 1;">Browse...</button>
plupload:
var media_uploader = new plupload.Uploader({"runtimes":"html5","browse_button":"media-browse-button","container":"media-container","url":"\/upload","headers":{"Accept":"application\/json"},"chunk_size":"512kb","multipart_params":{},"filters":{"mime_types":[{"title":"Audio files","extensions":"mp3,m4a"}]}});media_uploader.init();document.getElementById('media-start-upload').onclick = function() {media_uploader.start();};
我试过:
string MediaFilePath = "file path here"
driver.FindElementByXPath("//*[@id=\"media-browse-button\"]").SendKeys(MediaFilePath);
然而,这只会打开一个浏览文件对话框,不会上传任何内容。
如果在整个网页中有
//input[@type='file']
然后 SendKeys
将 upload
文件。
string MediaFilePath = "file path here"
driver.FindElementByXPath("//input[@type='file']").SendKeys(MediaFilePath);
请注意,您不应单击上传按钮,这样就可以完成工作。