selenium タブ操作

Python

seleniumでうまくいかなかったことがあったので記録

何度やっても、方法を変えても要素取得できないページとがありまして

driver.find_element(By.CSS_SELECTOR,"div[class='seeds-flex seeds-gx-x-4 assets-buttons']>a").click()

driver.implicitly_wait(10)

assets=driver.find_element(By.CSS_SELECTOR,"p.lg-pr-x-5").text

SBI証券にログインした後、My資産のページに移って、総資産の数値を取得したかったんですが

指定方法をいろいろ変えても

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”css selector”,”selector”:”p.lg-pr-x-5″}

のエラーが出て、要素が見つかりませんとのこと

結局、My資産のページに移った時に新しいタブをクロームで開いていました

なので、seleniumでタブ操作をしないとずっと古いタブで要素を探してました

driver.switch_to.window(driver.window_handles[1])

これで新しいタブに切り替えられます(window_handles[0]が古いタブ、[1]が新しいタブ)

ちなみに現在seleniumがchromedriverで見ているページのurlを取得するコマンドがあります

print(driver.current_url)

要素がどうしても見つからないときは、現在のurlを確認することを覚えました

コメント