Le site Web Je cours mon navigateur sans tête (PhantomJS) à travers Selenium a un fuseau horaire différent donc je reçois les mauvaises dates pour de nombreuses entrées. Ainsi, mes résultats éraflés montrent les mauvaises dates/heures (je suis en EST, on dirait que le site par défaut est GMT).Selenium scraping: changer le fuseau horaire
Je suis en train de gratter depuis le site Web this. Vous pouvez avoir une idée de comment je racle des dates à travers une question précédente sur SO here. Notez cependant que je ne suis pas en train de gratter le temps des jeux, donc je préfère ne pas l'incorporer dans une solution.
La même question est posée here mais je ne sais pas comment tester la solution «évidente» de vérifier pour voir à quelle heure le site Web est par défaut. Je suppose que l'on demanderait une heure au client et que j'ajouterais/soustrais des heures de mon temps actuel? Quelqu'un peut-il me dire comment faire et/ou s'il y a un meilleur moyen?
Editer: ce que je veux, c'est changer les données du site gratté de la valeur par défaut (GMT) à mon temps (EST). Cela évitera d'avoir à ajouter des heures supplémentaires; les dates refléteront ce qu'elles sont pour moi.
est ici aussi loin que je suis devenu:
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()
Mais je ne peux pas à cliquer. Dois-je chercher un cours à la place?
Dans le coin supérieur droit, vous pouvez sélectionner votre fuseau horaire. Je crois EST = GMT-5. Vous pouvez utiliser le sélénium pour sélectionner le bon fuseau horaire dans la liste déroulante. Cela devrait résoudre votre problème. – Maecky
J'ai compris, maintenant je dois trouver comment faire avec Selenium. Quelque chose comme: 'Select (driver.find_element_by_class (" selected ")). Select_by_value (15) .click()'? – noblerthanoedipus