Я выполняю цикл в Python 3, используя Selenium, который заходит на веб-сайт, вводит имя пользователя + пароль, вводит название компании в поиске (затем для определенных компаний происходит сбой) и получает некоторый текст.Каждый цикл создается для поиска дохода для конкретной компании, эти сообщения об ошибках появляются для большинства запросов, но не для всех.Я обнаружил, что ошибка возникает при нажатии кнопки поиска после того, как название компании введено в строку поиска.
def rev_finder(company,driver):
page = 'https://corporateaffiliations.com/Nonsub/AccountHelp'
driver.get(page)
user = driver.find_element_by_id('strUserName')
user.clear()
user.send_keys(username)
password = driver.find_element_by_id('strPassword')
password.clear()
password.send_keys(password1)
button = driver.find_element_by_id('signOn')
button.click()
driver.implicitly_wait(5)
search = driver.find_element_by_id('VAL_Name')
search.click()
search.send_keys(company)
parent = driver.find_element_by_name('VAL_ParentMember')
parent.click()
button = driver.find_element_by_name('buttonSearch')
button.click()
driver.implicitly_wait(5)
revenue = driver.find_element_by_xpath("/html/body/div/div[3]/div/table/tbody/tr/td/form/table[2]/tbody/tr[2]/td[6]/div").get_attribute("innerHTML")
return revenue
def remove(string):
string.replace("INC","").replace("Inc","").replace(".","").replace(",","")
return string
companies = sheet['Company']
companies = companies[1:4]
revenue = []
for company in companies:
company = remove(company)
try:
driver = webdriver.Firefox(executable_path=r'C:\Users\ktorres\Downloads\geckodriver-v0.24.0-win64\geckodriver')
rev = rev_finder(company,driver)
except:
rev = 'Check Manually'
revenue.append(rev)