BlackCyan07 / autoGrabTicketsScript

铁路12306购票脚本
4 stars 0 forks source link

这是我环境问题嘛 #3

Open zazjaya opened 1 week ago

zazjaya commented 1 week ago

File "script.py", line 161 print(f'车票还未开售,等待开售...(等待{config['heart']}秒自动刷新,请物关闭脚本)')

BlackCyan07 commented 1 week ago

File "script.py", line 161

print(f'车票还未开售,等待开售...(等待{config['heart']}秒自动刷新,请物关闭脚本)')

感谢反馈! 抱歉,这一版本的脚本源码我没有仔细检查就上传了,我的问题() 我将尽快解决这一问题并上传修改后的源码

BlackCyan07 commented 1 week ago

你好,请上传全部错误信息,方便我查找错误原因

zazjaya commented 1 week ago

File "script.py", line 161 print(f'车票还未开售,等待开售...(等待{config['heart']}秒自动刷新, 请物关闭脚本)') ^ SyntaxError: invalid syntax PS C:\Users\DJ\Desktop\autoGrabTicketsScript>就这些了

BlackCyan07 commented 1 week ago

🤔问题可能出现在单引号嵌套不正确 我已经上传了最新的v1.1.1的代码,在解决这个问题的同时修复了部分bug,你可以再试试看

zazjaya commented 1 week ago

--------脚本作者:墨青-------- Github仓库:https://github.com/BlackCyan07/autoGrabTicketsScript 请输入出发日期(YYYY-MM-DD):2024-11-20 请输入出发城市:南京 请输入到达城市:洛阳 +------+-------+----------+----------+-------+--------+--------+--------+------+------+------+------+ | 序号 | 车次 | 出发时间 | 到达时间 | 耗时 | 二等座 | 一等座 | 商务座 | 无座 | 硬座 | 硬卧 | 软卧 | +------+-------+----------+----------+-------+--------+--------+--------+------+------+------+------+ | 1 | G1970 | 07:40 | 11:42 | 04:02 | 有 | 有 | 7 | | | | | | 2 | G1887 | 07:41 | 12:20 | 04:39 | 8 | 无 | 无 | | | | | | 3 | G3177 | 07:57 | 13:05 | 05:08 | 有 | 2 | 无 | | | | | | 4 | G3181 | 08:12 | 13:10 | 04:58 | 有 | 4 | 1 | | | | | | 5 | G1974 | 08:46 | 13:00 | 04:14 | 有 | 5 | 无 | | | | | | 6 | G1920 | 10:43 | 14:51 | 04:08 | 有 | 有 | 2 | | | | | | 7 | G3165 | 11:21 | 16:22 | 05:01 | 有 | 无 | 无 | | | | | | 8 | K2186 | 12:47 | 23:24 | 10:37 | | | | 有 | 有 | 有 | 9 | | 9 | G1925 | 12:48 | 17:26 | 04:38 | 有 | 1 | 无 | | | | | | 10 | K360 | 13:14 | 00:54 | 11:40 | | | | 无 | 有 | 有 | 无 | | 11 | G3153 | 13:21 | 18:54 | 05:33 | 有 | 无 | 无 | | | | | | 12 | G1928 | 14:00 | 18:20 | 04:20 | 有 | 无 | 无 | | | | | | 13 | G1932 | 15:25 | 19:06 | 03:41 | 有 | 有 | 3 | | | | | | 14 | T112 | 15:28 | 23:34 | 08:06 | | | | 3 | 有 | 有 | 无 | | 15 | G1822 | 16:54 | 21:21 | 04:27 | 有 | 16 | 4 | | | | | | 16 | Z376 | 17:00 | 00:19 | 07:19 | | | | 8 | 无 | 有 | 5 | | 17 | D122 | 17:06 | 00:40 | 07:34 | 有 | | | 有 | | 无 | 有 | | 18 | K738 | 17:17 | 05:37 | 12:20 | | | | 有 | 有 | 有 | 有 | | 19 | G1916 | 17:39 | 21:35 | 03:56 | 有 | 7 | 2 | | | | | | 20 | K2666 | 18:06 | 06:24 | 12:18 | | | | 有 | 有 | 有 | 无 | | 21 | T116 | 18:55 | 03:33 | 08:38 | | | | 无 | 无 | 有 | 无 | | 22 | K560 | 19:39 | 07:07 | 11:28 | | | | 有 | 18 | 有 | 1 | | 23 | Z40 | 19:53 | 03:39 | 07:46 | | | | 无 | 无 | 有 | 无 | | 24 | Z304 | 20:48 | 04:03 | 07:15 | | | | 无 | 有 | 有 | 无 | | 25 | Z164 | 21:19 | 04:47 | 07:28 | | | | 无 | 无 | 无 | 无 | +------+-------+----------+----------+-------+--------+--------+--------+------+------+------+------+ 请选择你想购买的车次序号:1 正在抢票中... Traceback (most recent call last): File "script.py", line 175, in dp.ele('css:#normalPassenger_0').click() File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_units\clicker.py", line 23, in call return self.left(by_js, timeout, wait_stop) File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_units\clicker.py", line 58, in left self._ele.wait.stop_moving(timeout=end_time - perf_counter()) File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_units\waiter.py", line 359, in stop_moving if self._ele.rect.size == size and self._ele.rect.location == location: File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_units\rect.py", line 29, in size border = self._ele.owner._run_cdp('DOM.getBoxModel', backendNodeId=self._ele._backend_id, File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_pages\chromium_base.py", line 383, in _run_cdp return r if ERROR not in r else raise_error(r, self.browser, ignore) File "C:\Users\DJ\AppData\Local\Programs\Python\Python38\lib\site-packages\DrissionPage_functions\tools.py", line 202, in raise_error raise r DrissionPage.errors.ElementLostError: 元素对象已失效。可能是页面整体刷新,或js局部刷新把元素替换或去除了。 PS C:\Users\DJ\Desktop\autoGrabTicketsScript>

zazjaya commented 1 week ago

一开始登录的时候也是这个DrissionPage.errors.ElementLostError: 元素对象已失效。可能是页面整体刷新,或js局部刷新把元素替换或去除了。 我手动登录点开输入后4位获取验证码登录的

zazjaya commented 1 week ago

一开始填不了站点,后来试的需要浏览器最大化,现在到乘车人信息那一步报上面个错

zazjaya commented 1 week ago

试的时候 我这边缺这两个 pip install PyYAML pip install --upgrade DrissionPage

BlackCyan07 commented 1 week ago

File "script.py", line 175, in
dp.ele('css:#normalPassenger_0').click()

这个错误信息指出是在选择乘客的时候出现错误,我暂时认为是因为没有登录上造成的问题

在你安装了pyyaml模块后,还需要你手动登陆吗?

如果仍不能自动填入信息并登陆,那可能是浏览器元素定位的问题

手动登陆账号之后,仍会出现这样的错误信息?

排除了你帐号下没有乘客这一可能性之后,那还是元素定位的问题

元素定位的问题,可能出现在模块版本问题之中,确保你的python版本为3.1x,然后升级DrissionPage模块

BlackCyan07 commented 1 week ago

你好,我已检查自己的源码并发现了大量的bug,现在已经发布v1.1.3版本的源码(已经经过了我的测试),应该解决了你遇到的所有问题,你可以下载最新版源码再尝试是否会遇到问题