Skip to content

Blog

Python の DrissionPage で Web ページを取得する

Python の DrissionPage を利用すると Web ブラウザの操作を自動化することが出来ます。 現時点でサポートしている環境については下記の記載があります。

  • Support system: Windows、Linux、Mac
  • Python version:more than 3.6
  • Support browser: Chromium kernel(eg. Chrome, Edge),electron

このメモでは DrissionPage の ChromiumPage を使って Web ページを取得する、簡単なサンプルをメモしておきます。 尚、DrissionPage のドキュメントページ は中国語だけのようで、英語など他の言語の提供は無いようです…

asdf は 0.16 からディレクトリ構造が大幅に変化している

asdf は様々なランタイムを管理出来るバージョンマネージャです。 Golang で実装されています。 ただ、後発の Rust で実装された mise (旧名は rtx) は「asdf 用のプラグインは全て使えるが、asdf より速い」とうたっています。 これを受けてなのか、asdf は バージョン 0.16.0 の Changelog に下記の記載があります。 記載内容によると「バージョン 0.16.0 からより速く、シンプルで、メンテナンスし易いように書き直した」ようです。

Rewrite asdf in Golang The rewrite in Go was spread across 88 pull requests that are all included in this release. The primary goal of the rewrite was to create a codebase that was faster, simpler and easier to maintain. The rewrite tries to maintain feature parity with the previous version. However, a number of breaking changes were introduced. Some of these were due to the change of language, a few out of a desire to simplify the code, and some to improve the user experience. For the full list of breaking changes and the upgrade guide visit the Upgrading to 0.16.0 page on the asdf website. It is highly recommended that you read this guide before upgrading.

ですが、私の macOS 環境では 0.15 系から 0.16.1 へバージョンアップしたところ、下記のエラーが出るようになってしまいました。

/Users/USERNAME/.zshrc:.:10: no such file or directory: /opt/homebrew/opt/asdf/libexec/asdf.sh

.zshrc では バージョン 0.15 までのガイド に従って以下のように設定してありましたが、これがエラーになっているようです。

.zshrc
# asdf
. /opt/homebrew/opt/asdf/libexec/asdf.sh

CML でノードライセンスを超過した場合のエラー

以前に CML でノードライセンスを消費するノード・消費しないノード というメモを書きました。 CML は「同時に起動出来るノード数」は「インストールされているノードライセンス数」で決定されます。 これはあくまで「同時起動数」であり、起動しなければ無制限にノードを配置出来ます。 ライセンスがインストールされていない場合の挙動はバージョンによって異なります。

バージョン ライセンス未インストール時の挙動
2.8.0 未満 ノードは 1 台も起動出来ない (サードパーティノードであっても起動出来ない)
2.8.0 以降 ノードは 5 台まで起動出来る (6 台以上起動するとエラーになる)

ノードライセンスを超過した場合、Web UI では以下のようなエラーが表示されます。

file

今回は API アクセスしている場合のエラーをメモしておきます。 API アクセスには Python + virl2-client を用います。

Warp から Cisco ルータへ SSH した際のエラーを回避する

WarpiTermWezTerm と同じターミナルソフトウェアです。 現時点では macOS 版しか提供されていませんが、Warp is coming to Windows というページがあり、いずれ Windows 版も提供されるようです。 公式サイトのトップページには以下の記載あり、「AI 連携」を特徴にしています。

Become a command line power user on day one. Warp combines AI and your dev team’s knowledge in one fast, intuitive terminal.

Compare terminal tools というページもあります。 他のターミナルソフトウェアと Warp の比較がされており、例えば iTerm2 vs. Warp という比較もあります。

ただ、デフォルトの状態では Warp から (Linux 相手ではほぼ問題ありませんが) Cisco ルータなどへ SSH アクセスした際、エラーになることがあるようです。 この問題は GitHub の Invalid autocommand in SSH configuration #2836 で触れられていますが、この問題の解決方法をメモしておきます。