Чтение/запись данных в электронной таблице Google

Я не использую MS Office на своей локальной машине. Поэтому я использую Google Документы.

Теперь мне нужно создать скрипт, который извлекает данные из электронной таблицы Google в Selenium.

Я хочу получить данные [чтение/запись] из электронной таблицы Google с помощью веб-драйвера selenium.

Есть ли у кого-нибудь идеи о том, как это сделать?

Технологии: Selenium Web-Driver JAVA TestNG Eclipse IDE


person Jalpesh Patel - QA Lead    schedule 27.05.2019    source источник
comment
Что ты уже испробовал ?   -  person cruisepandey    schedule 27.05.2019
comment
Можете ли вы открыть общедоступную электронную таблицу в качестве примера и показать код, который пытается ее изменить ??   -  person SkorpEN    schedule 27.05.2019
comment
@AdiOhana: Спасибо за ваш вклад. Это проект Maven, но мне нужно создать скрипт в TestNg.   -  person Jalpesh Patel - QA Lead    schedule 28.05.2019
comment
@JalpeshPatel-QALead сообщение SO, о котором я упоминал, использует TestNG и Selenium   -  person Adi Ohana    schedule 28.05.2019
comment
@cruisepandey: До сих пор я пытался создать учетные данные в API Google после включения API электронных таблиц. Но я понятия не имею, как читать данные из электронной таблицы Google. Хотя я пытался использовать несколько кодов, которые нашел в Google.   -  person Jalpesh Patel - QA Lead    schedule 28.05.2019
comment
Пожалуйста, обновите свой вопрос с помощью проверенного кода.   -  person cruisepandey    schedule 28.05.2019


Ответы (1)


У меня сейчас нет доступа к Google Таблицам, но я предполагаю, что это будет выглядеть примерно так.

pip install gspread oauth2client

Затем...

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# use creds to create a client to interact with the Google Drive API
scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)

# Find a workbook by name and open the first sheet
# Make sure you use the right name here.
sheet = client.open("Copy of Legislators 2017").sheet1

# Extract and print all of the values
list_of_hashes = sheet.get_all_records()
print(list_of_hashes)

Или получить список списков:

sheet.get_all_values()

Наконец, вы можете просто извлечь данные из одной строки, столбца или ячейки:

sheet.row_values(1)

sheet.col_values(1)

sheet.cell(1, 1).value

https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html< /а>

https://towardsdatascience.com/accessing-google-spreadsheet-data-using-python-90a5bc214fd2

person ASH    schedule 10.06.2019
comment
Большое спасибо за ваши усилия и помощь. Я ознакомился с вашим комментарием и предоставил ссылки. Но это код Python. Поэтому я явно не конвертирую в selenium-java. - person Jalpesh Patel - QA Lead; 11.06.2019
comment
Ага, понятно. Извиняюсь. Я нашел это, когда выполнял поиск по «Python» или «Selenium». Я просто очень быстро прочитал ваш вопрос. Я думал, вы ищете решение для Python/Selenium, а не для Java. Я буквально ничего не знаю о Java. Надеюсь, кто-то скоро придет с работоспособным решением. - person ASH; 11.06.2019