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);