我有一个 HTML 页面<input type=file>
我正在使用 QtWebkit,并且已经能够获取 INPUT 类型的 QWebElement。
如何将其值设置为特定字符串(文件路径)以便提交表单?
一个天真的事情是设置元素的value
属性。input
element->setAttribute("value", "path");
但是,这是行不通的,因为除非您是“浏览器”,否则不允许设置此属性。
可能要走的路是使用mozSetFileNameArray
,像这样:
const QString filePath = "/foo/bar/baz"; // or "C:\foo\bar\baz"
const QString js = QString(
"var fileArray = {'%1'};"
"this.mozSetFileNameArray(fileArray, fileArray.length);"
).arg(filePath);
element->evaluateJavaScript(js);