取得したい要素がmozbarがChrome拡張だとすると、Seleniumの初期設定ではChrome拡張が有効になっておらず、そもそも要素が生成されていない可能性があります。
mozbarの実体があるフルパスを確認して、以下のような方法でWebDriverをセットアップすれば、
Chrome拡張を有効にしつつSeleniumを利用する=MozBarによる出力を捕捉できるかもしれません。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
# Configure the necessary command-line option.
options = webdriver.ChromeOptions()
options.add_argument('--load-extension=path/to/the/extension')
# Initalize the driver with the appropriate options.
driver = webdriver.Chrome(chrome_options=options)
※コード引用元
※path/to/the/extension
は、おそらくインストールされているMozBarのフォルダ
最後の行まで実行した時点でブラウザが立ち上がると思うので、立ち上がったブラウザでMozBarが有効になっているかの確認は出来るのではないかと。
Pythonインタプリタで動かしてみれば、出力内容なども適宜確認できるのではないでしょうか。
※追記:取得例
以下の状況を前提としています
- mozbar上でmozへのログイン済み(DA,PAが表示可能であること)
- WebDriverをmozbarが有効な状態でセットアップしている
python
1driver.get("http://example.com")
2# mozbarによる出力はiframeなので、mozbarが出しているiframeを探す(例)
3mozbar = [elm for elm in driver.find_elements_by_tag_name("iframe") if elm.get_attribute("id").startswith("mozbar-")]
4
5# Seleniumの捜査対象をmozbarのバーにスイッチする
6driver.switch_to.frame(mozbar[0])
7
8# 普通にfindする
9for elm in driver.find_elements_by_class_name("title"):
10 print(elm.text)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/29 15:32
2021/05/29 15:33
2021/05/30 12:02