\

PythonとSeleniumを使用してWebページから情報を取得する際、特定の要素の先祖要素を取得する必要がある場合があります。これは、XPathのancestor軸を使用して行うことができます。

以下に、具体的なコード例を示します。

from selenium import webdriver

# WebDriverのインスタンスを作成(例:Chrome用のWebDriver)
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
driver.get('https://example.com')

# 子要素を取得
child_element = driver.find_element_by_css_selector('span.child-selector')

# 先祖要素を取得(XPathを使用)
ancestor_element = child_element.find_element_by_xpath('./ancestor::div/ancestor::body')
ancestor_text = ancestor_element.text

# 取得した先祖要素のテキストを表示
print("先祖要素のテキスト:", ancestor_text)

# WebDriverを終了
driver.quit()

このコードでは、以下の手順を実行しています:

  1. Seleniumを使用してWebDriverのインスタンスを作成し、指定したURLのウェブページを開きます。
  2. driver.find_element_by_css_selector() メソッドを使用して、子要素を取得します。child-selectorは子要素を特定するためのCSSセレクタです。
  3. find_element_by_xpath('./ancestor::div/ancestor::body') を使用して、子要素から上位の親要素を取得します。ここでは、XPathを使用して <span> タグから <div> タグへ、さらに <div> タグから <body> タグへ移動しています。
  4. 先祖要素のテキストを取得し、それを表示します。

この方法を使用して、Seleniumを使って子要素から先祖要素を取得できます。XPathを使用して特定の要素を上に移動する際に、必要な要素を正確に特定してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です