python
とselenium
を使用すると、スクリーンショットにテキストを追加することはできますか?私はjava
で何かをするとこれができるのを見ましたが、python
を使うと何も見えませんでした。python seleniumで撮影したスクリーンショットにテキストを追加することはできますか?
0
A
答えて
0
使用PIL画像モジュール読みPILイメージモジュールのマニュアルHere
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
img = Image.open("screen.png")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("clear_san.ttf", 23)
sample_text="hello world!"
draw.text((100, 100),sample_text,(28,28,28),font=font)
#here (100,100) is the x,y location of the text and (28,28,28) is the color
#of font which is drawn on canvas
img.save("final.png")#saving the image
#see the image attached
0
あなたはPythonのセレン及び(組み込み)のjavascriptのビットを使用して、このような何かを行うことができます。
from selenium import webdriver
def main():
URL = 'https://www.google.com'
SAVE_PATH = '/path/to/screenshots/screenshot.png'
browser = webdriver.Firefox()
browser.get(URL)
browser.execute_script(script())
browser.save_screenshot(SAVE_PATH)
def script():
return 'myCanvas = document.createElement("canvas");'\
+ 'myCanvas.id = "myCanvas";'\
+ 'myCanvas.width = document.body.clientWidth;'\
+ 'myCanvas.height = 60;'\
+ 'document.body.insertBefore(myCanvas, document.body.firstChild);'\
+ 'var ctx = myCanvas.getContext("2d");'\
+ 'ctx.font = "50px Monospace";'\
+ 'displayedText = "Hello World!";'\
+ 'ctx.strokeText(displayedText, document.body.clientWidth/2 - 150, 50);'
if __name__ == "__main__":
main()
ただし、すべてのサイトでうまく機能せず、displayedTextの値によっては、ハードコードされたv myCanvas.heightおよびctx.strokeTextパラメータの値を使用して正しく取得できます。
+0
これは本当に興味深い – user655489
関連する問題
- 1. cx_freezeはseleniumがスクリーンショットをpythonで撮ることができません
- 2. iPhoneからスクリーンショットの撮影を中止することはできますか?
- 3. Chromeブラウザのselenium webdriverでスクリーンショットを撮る
- 4. Pythonでスクリーンショットを撮る - クロスプラットフォーム
- 5. PythonでSelenium Marionetteを使ってページ全体のスクリーンショットを撮る
- 6. WebdriverでSeleniumを使用したFlashオブジェクトのスクリーンショットを撮る
- 7. Seleniumテストが失敗したときにBromineを使ってスクリーンショットを撮る
- 8. Android - ユーザーが撮影した写真をリストビューに追加する
- 9. html2canvasを使ってURLのスクリーンショットを撮ることはできますか?
- 10. メディア投影(第2または半分)毎秒スクリーンショットを撮る
- 11. NSString UIKitの追加を使用して影付きのテキストを描画することはできますか?
- 12. C#を使用してSeleniumでスクリーンショットを撮るには、この方法に問題がありますか?
- 13. pyscreenshotで撮影したスクリーンショットと保存したスクリーンショットを比較するにはどうすればよいですか?
- 14. スクリーンショットを撮ることができません
- 15. SVGのテキスト要素にテキストを追加することはできますか?
- 16. Seleniumと同じスクリーンショットを撮った後、ハッシュファイルが異なる
- 17. 上記のapiでWebviewのスクリーンショットを撮影する
- 18. すぐにAVFoundationで撮影した画像にGPSメタデータ辞書を追加
- 19. グラフィカルインターフェイスなしでウェブページのスクリーンショットを撮ることは可能ですか?
- 20. システムがロックされた状態のときにPythonでスクリーンショットを撮る
- 21. Android Studio 3 - スクリーンショットや録画画面を撮影することは可能ですか?
- 22. iOS:バックグラウンドタスクとして実行中にスクリーンショットを撮ることはできますか?
- 23. iMacrosでスクリーンショットを撮るときにランタイムエラーが発生しました
- 24. スクリーンショットを撮る**素早く** pythonから
- 25. Androidでスクリーンショットを撮るときにLibgdxエラーが発生する
- 26. カメラビューで撮影した画像のテキストを強調表示するには
- 27. パイゲでキャラクター撮影をするには?
- 28. テキストにスクロールバーを追加することができません
- 29. iOSアプリケーション内の任意のAPPで撮影されたスクリーンショットを検出する
- 30. chrome開発ツールで撮影したスクリーンショットのウォーターフォールダイアグラムは何を意味していますか?
これは、しかし答え:) – Nabin
をあなたはセレンを使用してイメージを作成したら、あなたはPILを使用することができ値します。 'import PIL'を実行し、次のリンクを使ってテキストを追加してください。 [pilを使って画像にテキストを書く](https://stackoverflow.com/questions/8154825/how-can-i-write-text-over-an-image-and-overlay-another-image-on-it-in -python) – Haranadh