headlessモードにすると取得できなくなる

headlessモードでブラウザを実行すると、JavaScriptが実行されないため、ページの要素がロードされないことがあります。そのため、要素が表示されるまで待機する必要があります。

以下は、要素が表示されるまで待機する方法の例です。

python
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 要素が見つかるまでの最大待機時間(秒) wait_time = 10 # 要素が表示されるまで待機 try: element = WebDriverWait(driver, wait_time).until( EC.presence_of_element_located((By.LINK_TEXT, "次へ>>")) ) element.click() # 要素が見つかったらクリック print(driver.current_url) except TimeoutException: print("要素が見つかりませんでした。")

このようにして、要素が表示されるまで待機してからクリックすることで、headlessモードでも要素を取得できるかもしれません。

未分類

Posted by ぼっち