[python]コツ


DateTime

タイムゾーンawareの種類

2012-03-01T10:00:00の様に秒数まで書かれているのの後にZや、UTC、+0000がついていることがあるが形式が違うだけで意味していることは一緒でタイムゾーンを表している。上記例だと全部標準時間というだけ。
全部下記で文字列からdatetime形式に変更可能。

from dateutil import parser
date = "2023-08-05T10:09:54+0000" #文字列
date = parser.parse(date) #2023-08-05 10:09:54+00:00日付フォーマット

タイムゾーン変換

タイムゾーンawareのdatetimeのタイムゾーンを変更するのは下記のコードで出来る

from dateutil import tz
from datetime import datetime

date = "2023-08-05T10:09:54+0000" #文字列
date = parser.parse(date) #2023-08-05 10:09:54+00:00日付フォーマット
jstDate = date.astimezone(JST) #2023-08-05 19:09:54+09:00

Selenium

iframe内にある要素を取得する

iframe内の要素はiframeを特定しないと取得出来ない。

iframe= driver.find_element_by_id("main_list")
driver.switch_to.frame(iframe)
contentList = driver.find_element(By.ID, "main-list")

テーブル内の要素を取得する

table→tbody→tr要素の構成で存在するウェブサイトのテーブルから要素を取得する際はtable要素をidなどで指定し、それをget_attribute("outerHTML")する。
取得したouterHTMLをリスト化する事で読める。

try:
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'main-list-table')))
except TimeoutException:
    pass  # Handle the exception here

table = driver.find_element_by_id('main-list-table').get_attribute('outerHTML')
df_temp_data = pd.read_html(table)

この記事が気に入ったらサポートをしてみませんか?