私はSelenium Webdriver (Python)
を使ってWordPress投稿コンテンツの作成を自動化しようとしていました。残念ながら、投稿コンテンツにファイルをアップロードすることはできません。私は解決策を探しましたが、そのほとんどはsend_keys
を使用しましたが、これはWP挿入メディアには適用されません(下の画像を参照)。Selenium Pythonを使用してWordPressの投稿にファイルをアップロードするには?
- ファイルを選択
- ドラッグファイル
私は、クロスプラットフォーム(WindowsやLinuxなど)のために働くだろうソリューションが必要:挿入メディアでは、2つのオプションがあります。 いくつかのjQuery、JSなどを使用する方法があると思います。私はJSに精通していないので、JSのソリューションを理解できませんでした。
P.S.私はPythonで作業しているので、Pythonコードが役に立ちます。ここで
あなたがそれらを必要とする場合は、メディアの挿入フレームのソースです:ここで
<div class="media-frame-content">
<div class="uploader-inline">
<div class="uploader-inline-content no-upload-message">
<div class="upload-ui">
<h2 class="upload-instructions drop-instructions">Drop files anywhere to upload</h2>
<p class="upload-instructions drop-instructions">or</p>
<a href="#" class="browser button button-hero" style="display: inline; position: relative; z-index: 1;" id="__wp-uploader-id-1">Select Files</a>
</div>
<div class="upload-inline-status">
<div class="media-uploader-status" style="display: none;">
<h2>Uploading</h2>
<button type="button" class="button-link upload-dismiss-errors"><span class="screen-reader-text">Dismiss Errors</span>
</button>
<div class="media-progress-bar">
<div></div>
</div>
<div class="upload-details">
<span class="upload-count">
<span class="upload-index"></span>/<span class="upload-total"></span>
</span>
<span class="upload-detail-separator">–</span>
<span class="upload-filename"></span>
</div>
<div class="upload-errors"></div>
</div>
</div>
<div class="post-upload-ui">
<p class="max-upload-size">Maximum upload file size: 32 MB.</p>
</div>
</div>
</div>
</div>
公開ページの場合は、「URL」を共有できますか? – Andersson
なぜsendKeysが適用されないのですか?selectFilesをクリックした後はどうなりますか?私はそれがあなたが 'ドラッグ可能なセレン溶液を見つけることは疑いがあります。代わりのソリューションは、フロントエンドの代わりにAPIを使用することですが、それはあまりセレンではないと思います。 –
@Andersson申し訳ありませんが、これは公開ページではありません。 – zafi005