Совершенно очевидно, что вы делаете.
1) You are posting some data to a URL
2) Scrapping the same URL.
3) Check for some "String"
Но что вы должны делать.
1) Post data to a URL
2) Scrap the resultant page (Not the same URL) and store in the file
3) Check for some "String"
Для этого вам нужно записать r.content в локальный файл и выполнить поиск строки
Измените код следующим образом:
payload = {'txtSearch':'HELLOWORLD'}
url2 = urllib.parse.urljoin(url_for_parse,action_value)
r = requests.post(url2, auth = {"USERNAME", "PASSWORD"}, payload)
with open("results.html", "w") as f:
f.write(str(r.content))
//Then continue searching for a String.
Примечание. Вам необходимо отправить полезную нагрузку на url2, а не на исходный URL (url_for_parse)