- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 Selenium 运行 headless (PhantomJS) 浏览器的网站有不同的时区,所以我得到了很多条目的错误日期。因此,我抓取的结果显示了错误的日期/时间(我在美国东部时间,看起来网站默认是格林威治标准时间)。
我正在从 this 中抓取信息网站。您可以通过之前关于 SO here 的问题了解我是如何抓取日期的。 .但请注意,我目前并没有抓取游戏时间,所以我不想将其纳入解决方案。
问了同样的问题here但我不知道如何测试检查网站默认时间的“明显”解决方案。我想有人会向客户请求时间并从我当前的时间中添加/减去小时数?有人可以告诉我该怎么做和/或是否有更好的方法。
编辑:我想要的是将网站抓取的数据从默认 (GMT) 更改为我的时间 (EST)。这将避免不得不增加时间;这些日期将反射(reflect)它们对我的意义。
据我所知:
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()
但我无法让它点击。我应该改为搜索类(class)吗?
最佳答案
更好的测试方法是使用 chromedriver 或类似的东西。好处是,您可以直观地检查您的脚本在做什么。这是一个示例代码(没有错误处理),可以执行您想要的操作。请注意,chromedriver.exe必须与脚本位于同一位置。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--lang=en")
chrome = webdriver.Chrome(chrome_options=chrome_options)
wait = WebDriverWait(chrome, 300)
import time
chrome.get("http://www.oddsportal.com/hockey/usa/nhl/results/")
dropdown = wait.until(EC.presence_of_element_located((By.ID,"user-header-timezone-expander")))
dropdown.click()
userHeader = chrome.find_element_by_id('user-header-timezone')
time.sleep(2)
ahref = userHeader.find_elements_by_tag_name('a')
for a in ahref:
print(a.get_attribute("text"))
if "Eastern Time" in a.get_attribute('text'):
a.click()
time.sleep(10)
chrome.close()
关于python - Selenium 刮 : changing timezone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848043/
我需要以 [+/-]hh:mm 格式保存手机的时区 我正在使用 TimeZone 类来处理这个问题,但我能得到的唯一格式如下: PST -05:00 GMT +02:00 我宁愿不对结果进行子串化,是
我正在尝试在 Node js 中使用 moment-timezone 来获取所有可用时区的列表,如下所示 - var moment = require('moment-timezone'); var
我正在使用以下代码将时区 (GMT-3) 转换为设备本地时区。 int hour=17,minute=0,day=12,month=6,year=2014; Calendar cal = new Gr
System.setProperty("user.timezone", "America/Chicago"); TimeZone.setDefault(TimeZone.getTimeZone("美国
我想从字符串初始化DateFormatter().timeZone,但是当我做类似的事情时 let dateFormatter = DateFormatter() dateFormatter.time
我通过存储日期组件字典在我的后端存储用户出生日期。它看起来像这样: { "day": 1, "month": 1, "year": 1970, "timeZone":
我一直在开发一个应用程序,它以下面给出的特定格式从服务器获取日期。 "2015-02-03 00:00:00" 我想使用 NSDateFormatter 以不同的 UI 格式显示它们但是当我更改时区时
我有什么 我有一个来自服务器的日期字符串,它的格式是 w3c 日期格式 2016-02-13T09:53:49.871Z 我的问题 当我将消息发布到服务器时,它显示的是 5 小时前而不是现在 我想要什
我正在将我的项目从 Django 1.8.2 升级到 1.9.7,我收到了这个警告: WARNINGS: my_app.my_model.date_available: (fields.W161) F
在下面的代码中: from datetime import datetime import pytz EDT = pytz.timezone('US/Eastern') d1 = datetime.n
我通过以下方式将服务器(Ubuntu 12.04)的时区更改为UTC: echo 'UTC' > /etc/timezone dpkg-reconfigure --frontend nonintera
我想获取洛杉矶的时区信息,现在10/10/2017是夏令时,但是我通过两种方式获取洛杉矶的时区得到了不同的结果。 public class TimeZoneDemo2 { public stati
我把它放在应用程序 Controller 中: before_filter :set_timezone def set_timezone Time.zone = current_user.time_
是否可以转换java.util.TimeZone字符串 sun.util.calendar.ZoneInfo[id=\"America/Los_Angeles\",offset=-28800000,d
当我写这段代码时: Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST"));
我正在使用 Java 8, 在我们的代码的前面,我们使用 sdf.setTimeZone(TimeZone.getTimeZone("PDT")); 转换为失败的美国太平洋地区(没有抛出任何错误,但转
我不断收到此警告:timezone of object (UTC) is different than current timezone ().我当前的时区是“EET”,如 Sys.timezone(
我正在我的网站上使用时刻时区转换器进行时区日期转换。默认情况下,我在 IST 中显示日期和时间。我有一个按钮可以转换用户时区中的给定时间。此按钮操作调用 moment js 并进行转换。到这里我没有问
我从服务响应中获得时区偏移量为“-5.00”,我需要在 UI 中将其格式化为 CST。我如何在 JavaScript 中转换它?我搜索了一下,不确定JavaScript中有没有直接的方法。 最佳答案
这个问题在这里已经有了答案: Converting string to datetime object (2 个答案) 关闭 6 年前。 我的主机有 UTC 时区,我正在尝试将 PDT 时间字符串转
我是一名优秀的程序员,十分优秀!