差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
selenium-webdriver [2025/02/22 16:07] skkselenium-webdriver [2025/11/06 20:33] (現在) skk
行 1: 行 1:
-= [[selenium-webdriver]] LM: [2025-02-22 16:05:39]+= [[selenium-webdriver]] LM: [2025-11-06 20:33:13]
 ~~NOCACHE~~ ~~NOCACHE~~
  
行 171: 行 171:
 ===== - SeleniumBase の動作設定 [2025-02-22] ===== ===== - SeleniumBase の動作設定 [2025-02-22] =====
 SeleniumBase もソースコードないでは Linux への分岐しか対応してない.ただ,undetected_chromedriver は Linux バイナリをダウンロードしてきていたので,Linux Emulation しなければならなかったが,SeleniumBase は chromedriver に対してなんらかの方法でパッチを当てているので,FreeBSD でインストールできる Chromium に附属している chromedriver をベースにして動作する.つまり,linux emulation しなくても大丈夫. SeleniumBase もソースコードないでは Linux への分岐しか対応してない.ただ,undetected_chromedriver は Linux バイナリをダウンロードしてきていたので,Linux Emulation しなければならなかったが,SeleniumBase は chromedriver に対してなんらかの方法でパッチを当てているので,FreeBSD でインストールできる Chromium に附属している chromedriver をベースにして動作する.つまり,linux emulation しなくても大丈夫.
 +
 +[2025-11-06] 8 ヶ月ぶりにバージョンアップしたが,すでにそこそこ変更点があった.特に,OS/プラットフォームの分岐のコードが増えていたので,その部分は要修正.というかこれ,FreeBSD で使いたい人いないのかな.ports にして,patch をみんなで管理したら便利だと思うんだけどな...
  
 ==== - python ライブラリの準備 ==== ==== - python ライブラリの準備 ====
行 204: 行 206:
 48     return "linux" in sys.platform or "freebsd" in sys.platform 48     return "linux" in sys.platform or "freebsd" in sys.platform
 </code>  </code> 
 +
 +[2025-11-06] __init__.py は,以下の行数の部分で,FreeBSD の分岐を追加.
 +<code python>
 +30 IS_POSIX = sys.platform.startswith(("darwin", "cygwin", "linux", "freebsd"))
 +481                     # (So that close() is always called)
 +482                     if "linux" in sys.platform or "freebsd" in sys.platform:
 +483                         self.close()
 +533                     if "linux" in sys.platform or "freebsd" in sys.platform:
 +534                         self.close()
 +535                     if self.service.is_connectable():
 +559             os.kill(self.browser_pid, 15)
 +560             if "linux" in sys.platform or "freebsd" in sys.platform:
 +561                 os.waitpid(self.browser_pid, 0)
 +</code>
 +
 +[2025-11-06] core/detect_b_ver.py で,以下の行数で分岐を追加.517 - 526 については,丸っと追加している.
 +
 +<code python>
 + 34 class OSType(object):
 + 35     LINUX = "linux"
 + 36     FREEBSD = "freebsd"
 + 37     MAC = "mac"
 + 38     WIN = "win"
 + 39
 + 56 def os_name():
 + 57     if "linux" in sys.platform:
 + 58         return OSType.LINUX
 + 59     elif "freebsd" in sys.platform:
 + 60         return OSType.FREEBSD
 + 61     elif "darwin" in sys.platform:
 + 62         return OSType.MAC
 +109     if os_name() != OSType.LINUX or os_name() != OSType.FREEBSD:
 +110         return ""
 +111     paths = [
 +112         "/bin/google-chrome",
 +434         ChromeType.GOOGLE: {
 +435             OSType.LINUX: chrome_on_linux_path(chromium_ok, browser_type),
 +436             OSType.FREEBSD: chrome_on_linux_path(chromium_ok, browser_type),
 +437             OSType.MAC: r"/Applications/Google Chrome.app"
 +438                         r"/Contents/MacOS/Google Chrome",
 +439             OSType.WIN: chrome_on_windows_path(browser_type),
 +440         },     
 +517             OSType.FREEBSD: linux_browser_apps_to_cmd(
 +518                 "google-chrome",
 +519                 "google-chrome-stable",
 +520                 "chrome",
 +521                 "chromium",
 +522                 "chromium-browser",
 +523                 "google-chrome-beta",
 +524                 "google-chrome-dev",
 +525                 "google-chrome-unstable",
 +526             ),
 +</code>
  
 これで少なくとも,僕の環境では SeleniumBase が FreeBSD で動作している. これで少なくとも,僕の環境では SeleniumBase が FreeBSD で動作している.
selenium-webdriver.1740208024.txt.gz · 最終更新: 2025/02/22 16:07 by skk
文書の先頭へ
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0