我通過Selenium運行我的無頭(PhantomJS)瀏覽器的網站有不同的時區,所以我得到許多條目的錯誤日期。因此,我的結果顯示錯誤的日期/時間(我在美國東部時間,看起來像網站默認是格林威治標準時間)。刮硒:改變時區
我從this網站刮。您可以瞭解我如何通過SO here上一個問題刮取日期。但是請注意,我目前並不是在拼搶遊戲的時間,所以我不希望將其納入解決方案中。
同樣的問題被問到here但我不知道如何測試'顯而易見'的解決方案來檢查網站默認的時間。我想有人會從客戶那裏請求一段時間,並從當前時間開始加/減小時數?有人可以告訴我該怎麼做和/或如果有更好的方法。
編輯:我想要的是將網站抓取的數據從默認(GMT)更改爲我的時間(EST)。這樣可以避免不必要的時間增加;日期會反映他們對我的看法。
這裏的,據我已經得到了:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.support.select import Select
driver = webdriver.PhantomJS(executable_path=r'C:/phantomjs.exe')
driver.get('http://www.oddsportal.com/hockey/usa/nhl/results/')
zoneDropDownID = "timezone-content"
driver.implicitly_wait(5)
zoneDropDownElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(zoneDropDownID))
# Select(zoneDropDownID).select_by_visible_text("Eastern") # strobject has no attribute
test = zoneDropDownID.select_by_visible_text("Eastern").click() # TimeOut exception - not found
driver.close()
但我無法得到它的點擊。我應該在尋找一個班級嗎?
在右上角,你可以選擇你的時區。我相信EST = GMT-5。您可以使用硒從下拉列表中選擇正確的時區。這應該可以解決你的問題。 – Maecky
明白了,現在我需要弄清楚如何用Selenium做到這一點。例如:'Select(driver.find_element_by_class(「selected」))。select_by_value(15).click()'? – noblerthanoedipus