Coder Social home page Coder Social logo

12306's Introduction

12306

12306 抢票程序

10.1 国庆放假没抢到票,写了一个抢票脚本,人肉去抢实在抢不过啊。。。

快速开始

环境准备

  • JDK 17
  • Maven

项目自身引用 WebDriverManager 自动下载管理 WebDriver,无需本地维护。

命令行执行

  1. 拉取代码
  2. 修改配置文件中对应的参数: startup.properties img.png
  3. 执行命令 mvn test -Pweb-execution -Dsuite=local -Dtestng.dtd.http=true

代码执行

  1. 拉取代码
  2. 修改配置文件中对应的参数: startup.properties img.png
  3. 执行测试用例 Ticket12306Test.java

注意

执行过程,需要在手机端打开 12306 软件进行扫码登录

文件说明

  1. startup.properties 用于配置购票信息 img.png
  2. general.properties 用于配置 Selenium Driver img.png
  3. 12306.properties 12306基础配置信息
  4. selenium-grid.properties 用于配置远程 Selenium-grid
  5. suites 用于工程化自动化测试

最后

本项目只实现了一个简单的 12306 抢票,你也可以基于本项目完成更多自动化流程,例如:大麦网购票。
该项目可以作为您的初始测试架构,以加快搭建自动化项目进度,完全可以作为企业/团队内 UI 自动化项目来使用,可扩展性(local, selenium-grid or testcontainers)、可维护性(内部包结构、模块、实体类定义)。
最后,如果该项目帮你买到了车票,给你带来了帮助,或者让你熟悉了 Selenium 的常见用法,请给个 Star ,谢谢。

12306's People

Contributors

izachwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

12306's Issues

进入到了下单界面,选择人员的时候就弹出去又重新执行

控制台报错:
INFO ] 2023-09-22 14:57:08.988 [main] WebDriverManager - Using chromedriver 114.0.5735.90 (resolved driver for Chrome 116)
[INFO ] 2023-09-22 14:57:09.032 [main] WebDriverManager - Exporting webdriver.chrome.driver as /Users/a1/.cache/selenium/chromedriver/mac64/114.0.5735.90/chromedriver
[INFO ] 2023-09-22 14:57:09.093 [main] BrowserFactory - chrome option:
9月 22, 2023 2:57:11 下午 org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
警告: Unable to find an exact match for CDP version 117, so returning the closest version found: 116
[ERROR] 2023-09-22 14:57:33.186 [main] Ticket12306Test - stale element reference: stale element not found
(Session info: chrome=117.0.5938.92)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.7', java.version: '17.0.4.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [e3aaeb8575bb090e180004a59a039bec, getElementText {id=EF95B1B5A3B474DB2B43B17BEB44684D_element_297}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 117.0.5938.92, chrome: {chromedriverVersion: 117.0.5938.92 (67649b10b92b..., userDataDir: /var/folders/c6/1vw5hs0907g...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:63276}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: mac, proxy: Proxy(), se:cdp: ws://localhost:63276/devtoo..., se:cdpVersion: 117.0.5938.92, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on mac (e3aaeb8575bb090e180004a59a039bec)] -> xpath: //[@id="queryLeftTable"]/tr]
Session ID: e3aaeb8575bb090e180004a59a039bec
[ERROR] 2023-09-22 14:57:38.869 [main] Ticket12306Test - stale element reference: stale element not found
(Session info: chrome=117.0.5938.92)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.7', java.version: '17.0.4.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [e3aaeb8575bb090e180004a59a039bec, getElementText {id=41666D317B0CC03A6D85E539B2BBC493_element_1069}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 117.0.5938.92, chrome: {chromedriverVersion: 117.0.5938.92 (67649b10b92b..., userDataDir: /var/folders/c6/1vw5hs0907g...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:63276}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: mac, proxy: Proxy(), se:cdp: ws://localhost:63276/devtoo..., se:cdpVersion: 117.0.5938.92, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on mac (e3aaeb8575bb090e180004a59a039bec)] -> xpath: //
[@id="queryLeftTable"]/tr]
Session ID: e3aaeb8575bb090e180004a59a039bec
[ERROR] 2023-09-22 14:57:52.121 [main] Ticket12306Test - 无余票

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

配置文件:

始发地

from=深圳

目的地

to=东莞

出发时间,格式:yyyy-MM-dd

date=2023-09-23

车次

trainNumber=C7006

座位类型(级别)

9:商务座,M:一等座,O:二等座,3:硬卧,4:软卧,1:硬座

lever=O

乘坐人(需要在登录的12306账号中存在,请提前添加)

passenger="段伟艺"

控制台打印:抢票成功,请支付。然而在待支付订单里确没有订单

1695363888574

"C:\Program Files\Java\jdk-17\bin\java.exe" -ea -javaagent:E:\tools\maven_new_localrepository/org/aspectj/aspectjweaver/1.9.9.1/aspectjweaver-1.9.9.1.jar -Didea.test.cyclic.buffer.size=1048576 -javaagent:E:\tools\IntelliJIDEA2022.2.3\lib\idea_rt.jar=55289:E:\tools\IntelliJIDEA2022.2.3\bin -Dfile.encoding=UTF-8 -classpath E:\tools\IntelliJIDEA2022.2.3\lib\idea_rt.jar;E:\tools\IntelliJIDEA2022.2.3\plugins\testng\lib\testng-rt.jar;E:\workspace_idea\workspace\SpringBoot\12306\target\test-classes;E:\workspace_idea\workspace\SpringBoot\12306\target\classes;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-java\4.12.1\selenium-java-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-api\4.12.1\selenium-api-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-chrome-driver\4.12.1\selenium-chrome-driver-4.12.1.jar;E:\tools\maven_new_localrepository\com\google\guava\guava\32.1.2-jre\guava-32.1.2-jre.jar;E:\tools\maven_new_localrepository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;E:\tools\maven_new_localrepository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;E:\tools\maven_new_localrepository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;E:\tools\maven_new_localrepository\org\checkerframework\checker-qual\3.33.0\checker-qual-3.33.0.jar;E:\tools\maven_new_localrepository\com\google\errorprone\error_prone_annotations\2.18.0\error_prone_annotations-2.18.0.jar;E:\tools\maven_new_localrepository\com\google\j2objc\j2objc-annotations\2.8\j2objc-annotations-2.8.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-chromium-driver\4.12.1\selenium-chromium-driver-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-json\4.12.1\selenium-json-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-manager\4.12.1\selenium-manager-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-devtools-v114\4.12.1\selenium-devtools-v114-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-devtools-v115\4.12.1\selenium-devtools-v115-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-devtools-v116\4.12.1\selenium-devtools-v116-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-devtools-v85\4.12.1\selenium-devtools-v85-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-edge-driver\4.12.1\selenium-edge-driver-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-firefox-driver\4.12.1\selenium-firefox-driver-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-ie-driver\4.12.1\selenium-ie-driver-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-remote-driver\4.12.1\selenium-remote-driver-4.12.1.jar;E:\tools\maven_new_localrepository\io\netty\netty-buffer\4.1.96.Final\netty-buffer-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-codec-http\4.1.96.Final\netty-codec-http-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-codec\4.1.96.Final\netty-codec-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-handler\4.1.96.Final\netty-handler-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-common\4.1.96.Final\netty-common-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-classes-epoll\4.1.96.Final\netty-transport-classes-epoll-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-classes-kqueue\4.1.96.Final\netty-transport-classes-kqueue-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-native-epoll\4.1.96.Final\netty-transport-native-epoll-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-native-kqueue\4.1.96.Final\netty-transport-native-kqueue-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-native-unix-common\4.1.96.Final\netty-transport-native-unix-common-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport\4.1.96.Final\netty-transport-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-resolver\4.1.96.Final\netty-resolver-4.1.96.Final.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-api\1.28.0\opentelemetry-api-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-context\1.28.0\opentelemetry-context-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-exporter-logging\1.28.0\opentelemetry-exporter-logging-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-metrics\1.28.0\opentelemetry-sdk-metrics-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-extension-incubator\1.28.0-alpha\opentelemetry-extension-incubator-1.28.0-alpha.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-logs\1.28.0\opentelemetry-sdk-logs-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-common\1.28.0\opentelemetry-sdk-common-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-extension-autoconfigure-spi\1.28.0\opentelemetry-sdk-extension-autoconfigure-spi-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-extension-autoconfigure\1.28.0\opentelemetry-sdk-extension-autoconfigure-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-api-events\1.28.0-alpha\opentelemetry-api-events-1.28.0-alpha.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk-trace\1.28.0\opentelemetry-sdk-trace-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-sdk\1.28.0\opentelemetry-sdk-1.28.0.jar;E:\tools\maven_new_localrepository\io\opentelemetry\opentelemetry-semconv\1.28.0-alpha\opentelemetry-semconv-1.28.0-alpha.jar;E:\tools\maven_new_localrepository\org\asynchttpclient\async-http-client\2.12.3\async-http-client-2.12.3.jar;E:\tools\maven_new_localrepository\org\asynchttpclient\async-http-client-netty-utils\2.12.3\async-http-client-netty-utils-2.12.3.jar;E:\tools\maven_new_localrepository\io\netty\netty-codec-socks\4.1.60.Final\netty-codec-socks-4.1.60.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-handler-proxy\4.1.60.Final\netty-handler-proxy-4.1.60.Final.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-native-epoll\4.1.60.Final\netty-transport-native-epoll-4.1.60.Final-linux-x86_64.jar;E:\tools\maven_new_localrepository\io\netty\netty-transport-native-kqueue\4.1.60.Final\netty-transport-native-kqueue-4.1.60.Final-osx-x86_64.jar;E:\tools\maven_new_localrepository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;E:\tools\maven_new_localrepository\com\typesafe\netty\netty-reactive-streams\2.0.4\netty-reactive-streams-2.0.4.jar;E:\tools\maven_new_localrepository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-os\4.12.1\selenium-os-4.12.1.jar;E:\tools\maven_new_localrepository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-safari-driver\4.12.1\selenium-safari-driver-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-support\4.12.1\selenium-support-4.12.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-http-jdk-client\4.12.1\selenium-http-jdk-client-4.12.1.jar;E:\tools\maven_new_localrepository\com\google\auto\service\auto-service-annotations\1.1.1\auto-service-annotations-1.1.1.jar;E:\tools\maven_new_localrepository\org\seleniumhq\selenium\selenium-http\4.12.1\selenium-http-4.12.1.jar;E:\tools\maven_new_localrepository\dev\failsafe\failsafe\3.3.2\failsafe-3.3.2.jar;E:\tools\maven_new_localrepository\org\testng\testng\7.7.1\testng-7.7.1.jar;E:\tools\maven_new_localrepository\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;E:\tools\maven_new_localrepository\com\beust\jcommander\1.82\jcommander-1.82.jar;E:\tools\maven_new_localrepository\org\assertj\assertj-core\3.24.2\assertj-core-3.24.2.jar;E:\tools\maven_new_localrepository\net\bytebuddy\byte-buddy\1.12.21\byte-buddy-1.12.21.jar;E:\tools\maven_new_localrepository\net\datafaker\datafaker\1.9.0\datafaker-1.9.0.jar;E:\tools\maven_new_localrepository\com\github\mifmif\generex\1.0.2\generex-1.0.2.jar;E:\tools\maven_new_localrepository\dk\brics\automaton\automaton\1.11-8\automaton-1.11-8.jar;E:\tools\maven_new_localrepository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;E:\tools\maven_new_localrepository\org\apache\logging\log4j\log4j-core\2.20.0\log4j-core-2.20.0.jar;E:\tools\maven_new_localrepository\org\apache\logging\log4j\log4j-slf4j-impl\2.20.0\log4j-slf4j-impl-2.20.0.jar;E:\tools\maven_new_localrepository\org\aeonbits\owner\owner\1.0.12\owner-1.0.12.jar;E:\tools\maven_new_localrepository\io\github\bonigarcia\webdrivermanager\5.5.3\webdrivermanager-5.5.3.jar;E:\tools\maven_new_localrepository\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java\3.3.3\docker-java-3.3.3.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java-core\3.3.3\docker-java-core-3.3.3.jar;E:\tools\maven_new_localrepository\org\bouncycastle\bcpkix-jdk18on\1.75\bcpkix-jdk18on-1.75.jar;E:\tools\maven_new_localrepository\org\bouncycastle\bcprov-jdk18on\1.75\bcprov-jdk18on-1.75.jar;E:\tools\maven_new_localrepository\org\bouncycastle\bcutil-jdk18on\1.75\bcutil-jdk18on-1.75.jar;E:\tools\maven_new_localrepository\org\slf4j\jcl-over-slf4j\1.7.30\jcl-over-slf4j-1.7.30.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java-transport-httpclient5\3.3.3\docker-java-transport-httpclient5-3.3.3.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java-transport\3.3.3\docker-java-transport-3.3.3.jar;E:\tools\maven_new_localrepository\net\java\dev\jna\jna\5.12.1\jna-5.12.1.jar;E:\tools\maven_new_localrepository\org\brotli\dec\0.1.2\dec-0.1.2.jar;E:\tools\maven_new_localrepository\org\apache\commons\commons-lang3\3.13.0\commons-lang3-3.13.0.jar;E:\tools\maven_new_localrepository\org\apache\httpcomponents\client5\httpclient5\5.2.1\httpclient5-5.2.1.jar;E:\tools\maven_new_localrepository\org\apache\httpcomponents\core5\httpcore5\5.2\httpcore5-5.2.jar;E:\tools\maven_new_localrepository\org\apache\httpcomponents\core5\httpcore5-h2\5.2\httpcore5-h2-5.2.jar;E:\tools\maven_new_localrepository\io\qameta\allure\allure-testng\2.22.0\allure-testng-2.22.0.jar;E:\tools\maven_new_localrepository\io\qameta\allure\allure-java-commons\2.22.0\allure-java-commons-2.22.0.jar;E:\tools\maven_new_localrepository\io\qameta\allure\allure-model\2.22.0\allure-model-2.22.0.jar;E:\tools\maven_new_localrepository\io\qameta\allure\allure-test-filter\2.22.0\allure-test-filter-2.22.0.jar;E:\tools\maven_new_localrepository\io\qameta\allure\allure-attachments\2.22.0\allure-attachments-2.22.0.jar;E:\tools\maven_new_localrepository\org\freemarker\freemarker\2.3.31\freemarker-2.3.31.jar;E:\tools\maven_new_localrepository\org\projectlombok\lombok\1.18.24\lombok-1.18.24.jar;E:\tools\maven_new_localrepository\com\github\automatedowl\allure-environment-writer\1.0.0\allure-environment-writer-1.0.0.jar;E:\tools\maven_new_localrepository\org\testcontainers\selenium\1.18.0\selenium-1.18.0.jar;E:\tools\maven_new_localrepository\org\testcontainers\testcontainers\1.18.0\testcontainers-1.18.0.jar;E:\tools\maven_new_localrepository\junit\junit\4.13.2\junit-4.13.2.jar;E:\tools\maven_new_localrepository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;E:\tools\maven_new_localrepository\org\apache\commons\commons-compress\1.22\commons-compress-1.22.jar;E:\tools\maven_new_localrepository\org\rnorth\duct-tape\duct-tape\1.0.8\duct-tape-1.0.8.jar;E:\tools\maven_new_localrepository\org\jetbrains\annotations\17.0.0\annotations-17.0.0.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java-api\3.3.0\docker-java-api-3.3.0.jar;E:\tools\maven_new_localrepository\com\github\docker-java\docker-java-transport-zerodep\3.3.0\docker-java-transport-zerodep-3.3.0.jar;E:\tools\maven_new_localrepository\com\fasterxml\jackson\core\jackson-databind\2.15.0\jackson-databind-2.15.0.jar;E:\tools\maven_new_localrepository\com\fasterxml\jackson\core\jackson-annotations\2.15.0\jackson-annotations-2.15.0.jar;E:\tools\maven_new_localrepository\com\fasterxml\jackson\core\jackson-core\2.15.0\jackson-core-2.15.0.jar;E:\tools\maven_new_localrepository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar;E:\tools\maven_new_localrepository\org\bouncycastle\bcprov-jdk15on\1.70\bcprov-jdk15on-1.70.jar;E:\tools\maven_new_localrepository\org\yaml\snakeyaml\2.0\snakeyaml-2.0.jar com.intellij.rt.testng.RemoteTestNGStarter -usedefaultlisteners false -socket55288 @w@C:\Users\w2591\AppData\Local\Temp\idea_working_dirs_testng.tmp -temp C:\Users\w2591\AppData\Local\Temp\idea_testng.tmp
[INFO ] 2023-09-22 14:19:13.382 [main] Utils - [TestNG] Running:
C:\Users\w2591\AppData\Local\JetBrains\IntelliJIdea2022.2\temp-testng-customsuite.xml

Allure environment data saved.
[INFO ] 2023-09-22 14:19:14.351 [main] WebDriverManager - Using chromedriver 117.0.5938.92 (resolved driver for Chrome 117)
[INFO ] 2023-09-22 14:19:14.383 [main] WebDriverManager - Exporting webdriver.chrome.driver as C:\Users\w2591.cache\selenium\chromedriver\win64\117.0.5938.92\chromedriver.exe
[INFO ] 2023-09-22 14:19:14.429 [main] BrowserFactory - chrome option:
9月 22, 2023 2:19:15 下午 org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
警告: Unable to find an exact match for CDP version 117, so returning the closest version found: 116
[ERROR] 2023-09-22 14:19:28.513 [main] Ticket12306Test - stale element reference: stale element not found
(Session info: chrome=117.0.5938.92)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.6'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [257cdd6ae8b2e3289a6cdb3b768e7772, getElementText {id=CE8561FC8512074E8122F5C0C915417C_element_295}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 117.0.5938.92, chrome: {chromedriverVersion: 117.0.5938.92 (67649b10b92b..., userDataDir: C:\Users\w2591\AppData\Loca...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:55295}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:cdp: ws://localhost:55295/devtoo..., se:cdpVersion: 117.0.5938.92, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on windows (257cdd6ae8b2e3289a6cdb3b768e7772)] -> xpath: //[@id="queryLeftTable"]/tr]
Session ID: 257cdd6ae8b2e3289a6cdb3b768e7772
[ERROR] 2023-09-22 14:19:31.534 [main] Ticket12306Test - stale element reference: stale element not found
(Session info: chrome=117.0.5938.92)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.6'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [257cdd6ae8b2e3289a6cdb3b768e7772, getElementText {id=3591F92B9755E5023BCBAB726B102CE3_element_765}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 117.0.5938.92, chrome: {chromedriverVersion: 117.0.5938.92 (67649b10b92b..., userDataDir: C:\Users\w2591\AppData\Loca...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:55295}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:cdp: ws://localhost:55295/devtoo..., se:cdpVersion: 117.0.5938.92, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on windows (257cdd6ae8b2e3289a6cdb3b768e7772)] -> xpath: //
[@id="queryLeftTable"]/tr]
Session ID: 257cdd6ae8b2e3289a6cdb3b768e7772
[ERROR] 2023-09-22 14:19:34.558 [main] Ticket12306Test - stale element reference: stale element not found
(Session info: chrome=117.0.5938.92)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
Build info: version: '4.12.1', revision: '8e34639b11'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.6'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [257cdd6ae8b2e3289a6cdb3b768e7772, getElementText {id=EC4B53B12CB554743A98093CD73ACCBB_element_1251}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 117.0.5938.92, chrome: {chromedriverVersion: 117.0.5938.92 (67649b10b92b..., userDataDir: C:\Users\w2591\AppData\Loca...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:55295}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:cdp: ws://localhost:55295/devtoo..., se:cdpVersion: 117.0.5938.92, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[ChromeDriver: chrome on windows (257cdd6ae8b2e3289a6cdb3b768e7772)] -> xpath: //*[@id="queryLeftTable"]/tr]
Session ID: 257cdd6ae8b2e3289a6cdb3b768e7772
[INFO ] 2023-09-22 14:19:41.898 [main] Ticket12306Test - 抢票成功,请支付

===============================================
Default Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0

Process finished with exit code 0

特地选了一个有票的车次,但是总是打印无余票

始发地

from=南宁东

目的地

to=贵港

出发时间,格式:yyyy-MM-dd

date=2023-10-05

车次

trainNumber=D8393

座位类型(级别)

9:商务座,M:一等座,O:二等座,3:硬卧,4:软卧,1:硬座

lever=O,M

乘坐人(需要在登录的12306账号中存在,请提前添加)

passenger=韦贵劲

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.