Python

  • 2022.10.16

【selenium・Python】headlessモードでaタグがクリックできない原因

Pythonでseleniumをheadlessモードで使っていてaタグがあるにもかかわらずクリックできない事象があって詰まったので記事にしておこうと思います。 事象 上述したようにseleniumをheadlessモードで実行してて何故かaタグがクリックできない事象に見舞われました。headlessモードでなければクリックできました。 エラーメッセージとしては以下 原因 window外にあるタグ […]

  • 2022.02.03

【Django】スケジュール(定期)実行

Djangoで定期的に実行したり、スケジュールを設定して実行したりする場合の方法を説明します。 Step1 ライブラリをインストール 下記の二つをインストールします。 Step2 INSTALLED_APPSにdjango-apschedulerを追加 settings.pyのINSTALLED_APPSに下記のように追加します。 Step3 必要なテーブルを作成 以下のようにmanage.pyを […]

  • 2021.12.29

【Python・Selenium】要素(DOM)が表示されるまで待つ

DOMが表示される前にSeleniumが動き出して要素が取得できませんでしたとエラーになることはないでしょうか? そんな時の対応方法を記載します。 対策 以下のコードをChrome Driverを取得した後に記載します。 説明 driver.implicitly_wait(time_to_wait)time_to_waitの部分に記載した数字の秒数までに要素が見つかれば、エラーにならない。この秒数 […]

  • 2021.11.06

【Python・Selenium】shadow-rootを開く

Seleniumで画面操作していると下記のようなshadow-rootというものが出てきてDomが取得できないことはありませんか? shadow-rootを開いて上記のdivなどのようなshadow-root配下のdomを取得する方法を記載します。 方法 1. shadow-root要素を取得する関数を定義 以下のような関数を定義し、shadow-root要素を中身と共に取得します。 2. 処理内 […]

  • 2021.08.01

Firestoreにpythonを使ってデータ追加

Firestoreにデータをpythonを使って追加する方法を記載します。 方法 1. firebaseのライブラリをインストール pipでインストールします。 2. firebaseより秘密鍵取得 firebaseのプロジェクト画面にて「プロジェクトの概要」の横とネジマーク→「プロジェクトの設定をクリックします。 サービスアカウントをクリックします。 新しい秘密鍵の生成をクリックします。 クリッ […]

  • 2021.07.18

multiple属性のついたinputタグにSeleniumを使って複数ファイルアップロード【Python】

Seleniumを使ってmultiple属性のついたinputタグに複数ファイルを同時アップロードする時に方法がわからなかったので残しておきます。 方法 上記のコードのようにsend_keysの引数にそれぞれのファイルを改行コードでつなげた状態で記載してあげれば問題なくアップロードできました。 xpathの調べ方 参考までにxpathの調べ方も記載しておきます。 初めに対象のページで右クリック→検 […]

  • 2021.02.08

【Django】QRコード生成 + HTML表示

DjangoでQRコードを生成して、ファイルなどには特に保存せずにフロント側HTMLで表示する方法を記載します。 実装手順 1. 必要なライブラリをインストール pillowとqrcodeのライブラリを下記のコマンドでインストールします。 ・pillow ・qrcode 2. インストールしたライブラリをimport view.pyに下記のようにインストールしたライブラリをimportします。 ま […]

  • 2020.12.02

Python(boto3)によるS3アップロードの方法

対象者 AWS S3にpythonを用いてファイルをアップロードしたい方 EC2からS3にオブジェクトをアップロードしたい方 S3とは AWS のストレージサービスです。要領は無制限で保存容量、アクセス数に合わせて課金されます。 正直、爆安です。詳しい料金は以下を参照ください https://aws.amazon.com/jp/s3/pricing/ アップロード機能作成手順 ここからは、具体的に […]