This commit is contained in:
frankknoll
2022-05-13 18:34:54 +02:00
parent 0bbab20858
commit 2a95ad88bf

View File

@@ -188,7 +188,7 @@
" ! cp $captchaImageFile $baseDir/app/src/main/assets/captchas/captcha_image.jpeg\n", " ! cp $captchaImageFile $baseDir/app/src/main/assets/captchas/captcha_image.jpeg\n",
" ! cd $baseDir;./gradlew connectedAndroidTest\n", " ! cd $baseDir;./gradlew connectedAndroidTest\n",
" textInCaptchaImage = ! adb shell \"run-as org.textrecognizer cat /data/data/org.textrecognizer/files/captcha_image.txt\"\n", " textInCaptchaImage = ! adb shell \"run-as org.textrecognizer cat /data/data/org.textrecognizer/files/captcha_image.txt\"\n",
" return textInCaptchaImage\n", " return textInCaptchaImage[0]\n",
" \n", " \n",
"def solveCaptchaAndStartFileDownload(driver, captchaImageFile):\n", "def solveCaptchaAndStartFileDownload(driver, captchaImageFile):\n",
" saveCaptchaImageAs(driver, captchaImageFile)\n", " saveCaptchaImageAs(driver, captchaImageFile)\n",
@@ -197,34 +197,35 @@
" driver.find_element(By.ID, \"verificationCode\").send_keys(textInCaptchaImage)\n", " driver.find_element(By.ID, \"verificationCode\").send_keys(textInCaptchaImage)\n",
" driver.find_element(By.CSS_SELECTOR, '[name=\"downloadbut\"]').click()\n", " driver.find_element(By.CSS_SELECTOR, '[name=\"downloadbut\"]').click()\n",
"\n", "\n",
"def downloadFile(file, driver, maxTries):\n", "# FK-TODO: file is part of absoluteFile, so remove file\n",
" captchaImageFile = 'captchaImage.jpeg'\n", "def downloadFile(file, absoluteFile, driver, maxTries):\n",
" def _downloadFile():\n",
" driver.get('https://vaers.hhs.gov/eSubDownload/index.jsp?fn=' + file)\n",
" solveCaptchaAndStartFileDownload(driver, 'captchaImage.jpeg')\n",
"\n",
" numTries = 1\n", " numTries = 1\n",
" solveCaptchaAndStartFileDownload(driver, captchaImageFile)\n", " _downloadFile()\n",
" while(not isCaptchaSolved(driver) and numTries < maxTries):\n", " while(not isCaptchaSolved(driver) and (maxTries is None or numTries < maxTries)):\n",
" solveCaptchaAndStartFileDownload(driver, captchaImageFile)\n", " _downloadFile()\n",
" numTries = numTries + 1\n", " numTries = numTries + 1\n",
"\n", "\n",
" if isCaptchaSolved(driver):\n", " if isCaptchaSolved(driver):\n",
" waitUntilDownloadHasFinished(file)\n", " waitUntilDownloadHasFinished(absoluteFile)\n",
" return True\n", " return absoluteFile\n",
" else:\n", " else:\n",
" return False\n", " return None\n",
"\n", "\n",
"def downloadVAERSFile(file):\n", "def downloadVAERSFile(file):\n",
" downloadDir = \"/home/frankknoll/Dokumente/Corona/projects/HowBadIsMyBatch/src/VAERS/tmp\"\n", " downloadDir = \"/home/frankknoll/Dokumente/Corona/projects/HowBadIsMyBatch/src/VAERS/tmp\"\n",
" driver = getWebDriver(downloadDir, isHeadless = False)\n", " driver = getWebDriver(downloadDir, isHeadless = False)\n",
" driver.get('https://vaers.hhs.gov/eSubDownload/index.jsp?fn=' + file)\n",
" absoluteFile = downloadDir + \"/\" + file\n", " absoluteFile = downloadDir + \"/\" + file\n",
" isFileDownloaded = downloadFile(\n", " downloadedFile = downloadFile(\n",
" file = absoluteFile,\n", " file = file,\n",
" absoluteFile = absoluteFile,\n",
" driver = driver,\n", " driver = driver,\n",
" maxTries = 1)\n", " maxTries = None)\n",
" driver.quit()\n", " driver.quit()\n",
" if isFileDownloaded:\n", " return downloadedFile"
" return absoluteFile\n",
" else:\n",
" return None"
] ]
}, },
{ {