lat_long = lat.text.strip ('()') .split (','): AttributeError: у объекта 'list' нет атрибута 'text' - PullRequest
0 голосов
/ 04 июня 2018

Нужно найти расстояние между 2 широтой и долготой.Chrome контролируется драйвером, затем широта и долгота добавляются в подходящие местоположения, и он также показывает значение расстояния в текстовом поле, но он не может извлечь эту сгенерированную строку числа. Вот код.Справка.

from selenium import webdriver
import csv
import time

with open('C:/Users/Nisarg.Bhatt/Documents/lats and 
longs/Lat_long_cleaned/retail_first.csv', 'r') as f:
    reader = csv.reader(f.read().splitlines(), delimiter = ',')
    data = [row for row in reader]

filename='C:/Users/Nisarg.Bhatt/Documents/lats and 
longs/Lat_long_cleaned/retail_first'    
option= webdriver.ChromeOptions()
option.add_argument("-incognito")

path= "Y:/AppData/Local/chromedriver"
browser= webdriver.Chrome(executable_path=path)

url="https://andrew.hedges.name/experiments/haversine/"
browser.get(url)

print(browser.title)

crash = 1
results = []
new=[]
skipped = []
for i,row in enumerate(data[1:]):
    print (i)
    search = browser.find_element_by_name('lat1')
    search_term = data[i+1][5]

    search_1=browser.find_element_by_name("lon1")
    search_term_1= data[i+1][6]

    search_2 = browser.find_element_by_name('lat2')
    search_term_2 = data[i+2][5]

    search_3 = browser.find_element_by_name('lon2')
    search_term_3 = data[i+2][6]


    search.clear()
    search_1.clear()
    search_2.clear()
    search_3.clear()

    try:
        search.send_keys(search_term)
        search_1.send_keys(search_term_1)
        search_2.send_keys(search_term_2)
        search_3.send_keys(search_term_3)

    except:
        print ('Skiped %s' %search_term)
        print (row)
        skipped.append(row)
        continue

    search.submit()
    time.sleep(1)

    try:
        lat = browser.find_elements_by_xpath("/html/body/form/p[4]/input[2]")
    except:
        alert = browser.switch_to_alert()
        alert.accept()
        browser.switch_to_default_content()
        print ('Couldnt find %s' %search_term)
        print (row)
        skipped.append(row)
        continue

lat_long = lat.text.strip('() ').split(',')
lat_long_clean = [float(n) for n in lat]

try:
    browser.refresh()
except:
    with open(filename + 'recovered' + '%i' %crash + '.csv' , "wb") as f:
        writer = csv.writer(f)
        writer.writerows(results)
        crash +=1

print (lat_long_clean)
r = row
r.extend(lat_long_clean)
r.insert(0, i)
print (r)
results.append(r)

with open(filename + ".csv", "a") as f:
    writer = csv.writer(f)
    writer.writerow(r)

with open(filename + "comp.csv" , "wb") as f:
    writer = csv.writer(f)
    writer.writerows(results)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...