python

pycharmやintelliJでpythonを書くときはtypingモジュールが便利

pythonは動的型付けなんで、pycharmを使っても補完が効きにくいです。 でもtypingモジュールを使って、引数や返り値の型を指定してやれば補完が効きます。 これだけで開発の快適さも、安全性もかなり高くなるので、IDEを使う人はtypingがすごく便利です。

Seleniumでページ全体のスクリーンショットを撮る

driverをheadlessモードで取得して、 page_width = driver.execute_script('return document.body.scrollWidth') page_height = driver.execute_script('return document.body.scrollHeight') driver.set_window_size(page_width, page_height) driver.save_…

pycharmでMark Directory as Source Rootにしておかないとimportがうまくいかない

のでしておきましょう。

pandasでindexの最大値を取る

df.tail().index.max()

pandas でcould not convert string to float: というエラー表示される

dtypeをstrに指定してやればいい pd.read_csv(hoge.csv, index_col=0, dtype=str)

seleniumで要素が表示されているかどうか

element.is_displayed() で取れる。

airflowでchromeが動かないとき

エラーログ "DevToolsActivePort file doesn't exist” 解決策 options.addArguments("--no-sandbox"); stackoverflow.com

Seleniumでウィンドウの端までスクロールする

seleniumでページ全体のスクリーンショットを撮る場合はこっちのほうがいいです。 nonenull.hatenablog.com PhantomJSが現役だった頃は簡単に全画面スクリーンショットが撮れたんですが、FirefoxやChromeだと難しい。 そこで、全画面スクリーンショットの代…

amazonのアフィリエイトコードからasinコードを抜き出す

text = """ """ hoge = text.split("asins=")[-1] asin_code = hoge.split("&bc1=")[0] print(asin_code)

Seleniumでボタンをクリックするときは、ボタンの文字列を取得するのがいい

Seleniumでボタンやチェックボックスをクリックしたい時ですが、CSSセレクター等で指定してやるよりも、ボタンの文字列を指定してやるほうがいいです。 理由 動的にHTMLが生成される場合など、セレクターは構造の変化に弱い うまく動かなかった時に文字列の…

seleniumでselectボックスじゃないけどリスト形式になっていて、タイトルで選択状態を変えたいとき

みたいなややこしい場合があります。 セレクトボックスなら、Selectクラスを使うのが楽です。 そうじゃない場合、親の要素を取ってきて、子要素をリスト化するのがいいです。 ざっくりこんな感じ parent = driver.find_element("element") elements_list = p…

seleniumでselectボックスじゃないけどリスト形式になっていて、タイトルで選択状態を変えたいとき

みたいなややこしい場合があります。 セレクトボックスなら、Selectクラスを使うのが楽です。 そうじゃない場合、親の要素を取ってきて、子要素をリスト化するのがいいです。 ざっくりこんな感じ parent = driver.find_element("element") elements_list = p…

seleniumで要素までスクロールする処理

qiita.com こちらがとても使い勝手が良かったのでおすすめです。

pythonでディレクトリが無ければつくる

import os if not os.path.exists(path_to_dir): os.mkdirs(path_to_dir) os._exists というメソッドもあって、少し詰まっていた。