renhai-lab / sgcc_electricity

本应用可以帮助你将国网的电费、用电量数据接入homeassistant,并且储存到数据库。
159 stars 45 forks source link

无法获取到数据 #18

Closed baobaobuku1210 closed 1 year ago

baobaobuku1210 commented 1 year ago

可以获取到预存金额,但是后续会报错

image

Traceback (most recent call last): File "/app/data_fetcher.py", line 90, in fetch return self._fetch() File "/app/data_fetcher.py", line 114, in _fetch balance_list = self._get_electric_balances(driver, user_id_list) # File "/app/data_fetcher.py", line 201, in _get_electric_balances self._click_button(driver, By.XPATH, File "/app/data_fetcher.py", line 358, in _click_button WebDriverWait(driver, int(os.getenv("DRIVER_IMPLICITY_WAIT_TIME"))).until(EC.element_to_be_clickable(click_element)) File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/support/wait.py", line 90, in until raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message:

baobaobuku1210 commented 1 year ago

这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

renhai-lab commented 1 year ago

我好像也进小黑屋了,可能是当前国家电网账号进小黑屋了,建议先注册个新账号试试

lovelyelfpop commented 1 year ago

我也是同样的错误,用的邮箱和手机登录 都不行。我是第一次用这个

sgcc_electricity  | Traceback (most recent call last):
sgcc_electricity  |   File "/app/data_fetcher.py", line 90, in fetch
sgcc_electricity  |     return self._fetch()
sgcc_electricity  |   File "/app/data_fetcher.py", line 114, in _fetch
sgcc_electricity  |     balance_list = self._get_electric_balances(driver, user_id_list)  #
sgcc_electricity  |   File "/app/data_fetcher.py", line 201, in _get_electric_balances
sgcc_electricity  |     self._click_button(driver, By.XPATH,
sgcc_electricity  |   File "/app/data_fetcher.py", line 358, in _click_button
sgcc_electricity  |     WebDriverWait(driver, int(os.getenv("DRIVER_IMPLICITY_WAIT_TIME"))).until(EC.element_to_be_clickable(click_element))
sgcc_electricity  |   File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/support/wait.py", line 90, in until
sgcc_electricity  |     raise TimeoutException(message, screen, stacktrace)
sgcc_electricity  | selenium.common.exceptions.TimeoutException: Message: 
sgcc_electricity  | 
sgcc_electricity  | 2023-09-21 10:46:03  [ERROR   ] ---- Webdriver quit abnormly, reason: Message:

能取到上次电费金额,其它的不行,应该不是黑屋,可能是页面dom元素变了.

尝试次数多了,官网登录不进去了,提示 网络超时

Jaywwwww commented 1 year ago

同样的问题,有临时解决方案吗?

2023/09/21 22:39:13 stderr selenium.common.exceptions.TimeoutException: Message:
2023/09/21 22:39:13 stderr raise TimeoutException(message, screen, stacktrace)
2023/09/21 22:39:13 stderr File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/support/wait.py", line 90, in until
2023/09/21 22:39:13 stderr WebDriverWait(driver, int(os.getenv("DRIVER_IMPLICITY_WAIT_TIME"))).until(EC.element_to_be_clickable(click_element))
2023/09/21 22:39:13 stderr File "/app/data_fetcher.py", line 358, in _click_button
2023/09/21 22:39:13 stderr self._click_button(driver, By.XPATH,
2023/09/21 22:39:13 stderr File "/app/data_fetcher.py", line 201, in _get_electric_balances
2023/09/21 22:39:13 stderr balance_list = self._get_electric_balances(driver, user_id_list)  #
2023/09/21 22:39:13 stderr File "/app/data_fetcher.py", line 114, in _fetch
2023/09/21 22:39:13 stderr return self._fetch()
2023/09/21 22:39:13 stderr File "/app/data_fetcher.py", line 90, in fetch
2023/09/21 22:39:13 stderr raise e
2023/09/21 22:39:13 stderr File "/app/data_fetcher.py", line 93, in fetch
2023/09/21 22:39:13 stderr user_id_list, balance_list, last_daily_date_list, last_daily_usage_list, yearly_charge_list, yearly_usage_list = data_fetcher.fetch()
2023/09/21 22:39:13 stderr File "main.py", line 57, in run_task
2023/09/21 22:39:13 stderr Traceback (most recent call last):
2023/09/21 22:39:13 stdout  
2023/09/21 22:39:13 stdout 2023-09-21 22:39:13  [ERROR   ] ---- state-refresh task failed, reason is Message:
renhai-lab commented 1 year ago

确实是由于网站结构改变了,此bug很快会在1.3.3版本修复。docker用户或者将镜像的tag改为1.3.3之后,用docker-compose重新拉取镜像后部署即可。

renhai-lab commented 1 year ago

我更新到1.3.3是可以的,你换一个账号试试。 顺便提一嘴,截图中不要暴露你自己的手机号了 @baobaobuku1210

Jaywwwww commented 1 year ago

1.3.3 没有问题了,赞

baobaobuku1210 commented 1 year ago

我更新到1.3.3是可以的,你换一个账号试试。 顺便提一嘴,截图中不要暴露你自己的手机号了 @baobaobuku1210 更改为邮箱登录就没问题了