Não sei se o meu código pode ajudar muito pois não resolve a questão do captcha, o que eu fiz foi resolver o captcha manualmente na metade da exeecução do script para então buscar os dados das pessoas.
Eu utilizei o código abaixo para iniciar o scraping:
from selenium import webdriver
from bs4 import BeautifulSoup
from time import sleep
url = 'https://www.oi.com.br/minha-oi/102busca/'
driver = webdriver.Chrome(executable_path='C:\selenium\chromedriver.exe')
driver.get(url)
sleep(5)
driver.find_element_by_id('input-nome-razao-social').send_keys('oao')
sleep(1)
driver.find_element_by_css_selector('[placeholder="UF"]').send_keys('rs')
sleep(1)
driver.find_element_by_xpath('//button[@value="RS"]').click()
sleep(1)
driver.find_element_by_css_selector('[placeholder="Cidade"]').send_keys('porto alegre')
sleep(1)
driver.find_element_by_xpath('//button[@value="Porto Alegre"]').click()
sleep(2)
driver.find_element_by_class_name('btn').click()
Então após resolver o captcha manualmente eu executei a segunda parte do código:
from bs4 import BeautifulSoup
soup = BeautifulSoup(driver.page_source)
results = soup.findAll('div', {'class': 'content-result'})
pessoas = []
for item in results:
p = {}
p['name'] = item.find('h1').getText()
p['phone'] = item.find('p').getText().replace(' Telefone: ', '')
p['address'] = item.findAll('p')[1].getText().replace(' Endereço: ', '')
pessoas.append(p)
pessoas