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を確認することを覚えました
コメント