在 12306 中选择卧铺铺位的新方法

太空小孩   ·   2013 年 07 月 25 日
本文章可能已失效

以下所展示的内容目前可能已经失效,本文仅供存档参考。

太空小孩,2014-09-19

大家都知道,饱受诟病的铁道部官方订票网站 12306 并未提供卧铺的上下铺选择功能,每次都要随机分配铺位,下铺又贵又烦有木有!

Fuuu

但是!实际上,12306 确实预留有一个选择卧铺铺位的参数接口的 ( • ̀ω•́ )✧

与现有方法的区别

现在流行的所谓通过修改铺位下拉选择框的 CSS 属性中 display: none; 为 display: block; 的方法已经无效了,因为 12306 已经把铺位下拉选择框整段 HTML 代码删除了。本文提供的方法是尝试手动将被删除的 HTML 代码重新添加进入 DOM。

对比测试

通常购票时并没有铺位下拉选择框:

1

通过此方法购买车票时,将会随机分配到一个铺位(本测试中所分配的是中铺):

2

进行卧铺铺位选择的方法

第一步,进入订票信息确认页面,在「席别—硬座」的下拉选择框上右键选择「审查元素」,此时会出现一个包含有页面 HTML 代码的调试框。

3

第二步,在审查元素调试框中包含有「席别—硬座」下拉选择框的 <td> 元素段落上,右键选择「Edit as HTML」(以 HTML 方式编辑)。

4

第三步,在该段代码的末尾,添加如下一段新代码(也就是铺位下拉选择框的 HTML 代码),然后点击页面空白处生效。

1
2
3
4
5
6
7
8
<td>
  <select name="passenger_1_seat_detail_select" id="passenger_1_seat_detail_select" onchange="setSeatDetail('1')">
    <option value="0">随机</option>
    <option value="3">上铺</option>
    <option value="2">中铺</option>
    <option value="1">下铺</option>
  </select>
</td>

此时,见证奇迹的时刻到了!页面上出现了铺位下拉选择框,可选择不同的铺位。

5

在本测试中,将尝试购买一张上铺铺位的卧铺票(对比测试中随机分配为中铺)。

第四步,提交订单,可以看到「未完成订单」中已经是一张上铺铺位的卧铺票了。

6

Fuck yea dude

狂霸酷炫屌的铺位选择订票完成!

如果不成功,请返回订票页面重试一次。这个方法不能保证 100% 成功率,但是多试验几次最终是可以的(相比对比测试无论提交多少次都是同一个铺位)。

如果该方法始终不能成功,那么就只能用这么一个老办法了

提交订票申请后请留意余票数量(假设为 x),如果所随机分配的铺位不是所需的铺位,请取消订单然后返回重新订票,直到余票数量发生变化(x±1 或 x±2)后再重新提交。