atesting.ru Блог Работа с excel в Selenium Python

Работа с excel в Selenium Python

В предыдущих статьях по Selenium Python Tutorial мы рассмотрели «Обработка файлов cookie в Selenium Python». В этом руководстве мы изучим Работа с excel в Selenium Python.

Мы можем работать с книгой Excel в Selenium WebDriver. Excel, также называемый электронной таблицей, может иметь расширения, такие как .xlsx, .xlsm и т. Д. Excel состоит из нескольких листов.

Каждый рабочий лист разделен на строки и столбцы, у которых есть адреса. Адрес строк начинается с 1, а адрес столбца начинается с A. Ячейка внутри рабочего листа является точкой пересечения строки и столбца.

Каждая ячейка на рабочем листе имеет уникальный адрес, определяемый комбинация адреса строки и столбца. Из нескольких листов в книге рабочий лист, над которым мы сейчас работаем, известен как активный рабочий лист.

При работе с инструментом Selenium вместе с языком Python мы используем библиотеку OpenPyXL для доступа к Excel из версии 2010. Python не предоставляет эту библиотеку автоматически.

Нам нужно запустить команду pip install openpyxl , чтобы получить библиотеку OpenPyXL. Также мы должны добавить в наш код оператор import openpyxl , чтобы получить все методы из этой библиотеки.

Чтобы получить активный рабочий лист в книге, мы должны использовать < strong> load_workbook () , который принимает путь к Excel в качестве параметра, а затем использует метод active .

Реализация кода для идентификации активного рабочего листа.

12345 import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: \ STM \ Python.xlsx») # для идентификации активных листов = bk.active

Чтобы прочитать значение определенной ячейки, нам нужно выполнить все вышеперечисленные шаги. Затем мы должны применить метод cell () к активному объекту рабочего листа. Этот метод содержит номер строки и столбца в качестве параметров. Наконец, мы воспользуемся методом value для фактического чтения данных ячейки.

Реализация кода для чтения значения ячейки.

< td class = "crayon-nums" data-settings = "show"> 123456789
import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: STM \ Python.xlsx ”) # для идентификации активных листов = bk.active # для идентификации ячейки c = s.cell (row = 3, column = 1) # для получения значения ячейки и printprint (c.value)

Чтобы записать значение в конкретную ячейку, нам нужно идентифицировать активный рабочий лист. Затем мы должны применить метод cell () к активному объекту рабочего листа. Этот метод содержит номер строки и столбца в качестве параметров.

Затем, чтобы установить значение, мы должны использовать метод value . Наконец, чтобы сохранить книгу, мы должны применить метод save () к объекту книги. Метод save () принимает путь к сохраняемому файлу в качестве параметра.

Реализация кода для записи значения ячейки.

1234567891011 import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: \ STM \ Python.xlsx») # для идентификации активных листов = bk.active # для идентификации ячейки c = s.cell (row = 2 , column = 8) # чтобы записать значение в эту ячейку. cell (row = 2, column = 8) .value = & # 34; Python & # 34; # чтобы сохранить книгу в locationbk.save (& # 34; C : \ STM \ Python.xlsx & # 34;)

Чтобы получить максимальное количество строк и столбцов на листе, нам нужно определить активный рабочий лист. Затем мы должны применить метод max_row к активному объекту рабочего листа, чтобы получить общее количество занятых строк. Кроме того, мы должны применить метод max_column к активному объекту рабочего листа, чтобы получить общее количество занятых столбцов.

Реализация кода для определения максимального количества занятых строк и столбцов.

123456789 import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: \ STM \ Python.xlsx») # для определения активных листов = bk.active # для определения максимального количества строк (s.max_row) # для определения максимального количества столбцов (s.max_column)

Чтобы получить все данные ячеек на листе, нам нужно определить активный лист. Затем мы должны применить метод max_row к активному объекту рабочего листа, чтобы получить общее количество занятых строк. Кроме того, мы должны применить метод max_column к активному объекту рабочего листа, чтобы получить общее количество занятых столбцов.

Чтобы получить данные ячеек, мы затем переберем максимальное количество строк и столбцов, занимаемых на листе, а затем получим значение ячейки.

Реализация кода для получения всех значений ячеек на листе.

12345678910111213 import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: \ STM \ Python.xlsx») # для идентификации активных листов = bk.active # для определения максимального количества строк print (s.max_row) # итерация до подсчета занятых строк для m в диапазоне (1, s.max_row + 1): # итерация до подсчета занятых столбцов для n в диапазоне (1, s.max_column + 1): # для получения данных ячейки и printprint (s .cell (row = m, column = n). value)

Чтобы получить все данные ячеек определенной строки на листе, нам нужно определить активный рабочий лист. Затем мы должны применить max_row на активном объекте листа, чтобы получить общее количество занятых строк. Кроме того, мы должны применить метод max_column к активному объекту рабочего листа, чтобы получить общее количество занятых столбцов.

Чтобы получить данные ячеек, мы затем переберем максимальное количество строк и столбцов, занятых на листе, а затем получим значение ячейки. Как только мы получим значение ячейки, мы выполним условный оператор и получим все значения из определенной строки, которая соответствует нашему требованию.

 Работа с excel в Selenium Python

Давайте рассмотрим книга с листом с указанным выше набором данных. Предположим, мы хотим получить сведения о студенте по теме Python.

Реализация кода для вышеуказанного сценария.

123456789101112131415 import openpyxl # для загрузки книги с ее путем bk = openpyxl.load_workbook («C: \ STM \ Python.xlsx») # для идентификации активных листов = bk.active # для определить максимальное количество строк countprint (s.max_row) # итерация до подсчета занятых строк для m в диапазоне (1, s.max_row + 1): # чтобы получить все значения ячеек из столбца 1, если s.cell (row = m, column = 1) .value == & # 34; Python & # 34; : # итерация до подсчета занятых столбцов для n в диапазоне (1, s.max_column + 1): # для получения всех данных ячеек из строки и printprint (s.cell (row = m, column = n). value)

В следующей статье мы изучим 100+ вопросов на собеседовании по Selenium .

TAG: qa