Перейти к содержимому

Тестирование безопасности
онлайн, начало 16 июня
Автоматизатор мобильных приложений
онлайн, начало 16 июня
Автоматизация тестирования REST API на Python
онлайн, начало 16 июня
Selenium WebDriver: полное руководство
онлайн, начало 18 июня
Фотография

Изъятие данных из ячейки таблицы. Java


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 moozee

moozee

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Хомяк Виктор

Отправлено 04 мая 2012 - 12:22

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

#2 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 04 мая 2012 - 12:30

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


selenium.getTable(локаторТаблицы.номерСтроки.номерСтолбца);
  • 0

#3 degradator

degradator

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • ФИО:смиромсерг

Отправлено 06 мая 2012 - 05:50

А если немного конкретнее - номера столбца и строки входят в кавычки локатора (т.е. "//table.1.2") или нет ("//table".1. 2) или еще как-то? И нумерация начинается с нуля, или с единицы?
  • 0
Мой сайт - Травиан бот :)

#4 moozee

moozee

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Хомяк Виктор

Отправлено 14 мая 2012 - 07:03

А если немного конкретнее - номера столбца и строки входят в кавычки локатора (т.е. "//table.1.2") или нет ("//table".1. 2) или еще как-то? И нумерация начинается с нуля, или с единицы?

Xpath выглядит так "/html/body/div[6]/div[3]/div/div/div[2]/div/table/tbody/tr/td[2]"
судя по всему номера есть. Но обратиться не получается..
  • 0

#5 sawoy

sawoy

    Новый участник

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 15 мая 2012 - 00:41

Вот суммарная инфа по этому методу:

getTable("<tableLocator>.<rowIndex>.<columnIndex>")

<rowIndex> - индекс строки, отсчет с нуля.
<columnIndex> - индекс колонки, отсчет с нуля.

<tableLocator> - локатор таблицы в формате [<locatorType>=]<locatorValue>.

<locatorType> ::= "xpath" | "css" | "link" | "sizzle" | "implicit" | "identifier" | "id" | "name" | "dom" | "stored" | "webdriver" | "class" | "alt" | "css" | "ui".

Если в <tableLocator> нет <locatorType>, то либо используется вариант "implicit" либо просто поиск происходит по определенной последовательности (вроде бы проверяется "//" в начале и что-то еще), в зависимости от.

Соответственно, по типам:
* "xpath" - поиск по XPATH = <locatorValue>;
* "css" - поиск по CSS = <locatorValue>;
* "link" - если не ошибаюсь, поиск по A тегу с текстом, содержащим <locatorValue>;
* "sizzle" - вроде как cиноним CSS;
* "implicit" - по след. алгоритму:
** если <locatorValue> начинается с "//", то поиск по XPATH = <locatorValue>,
** если <locatorValue> начинается с "document.", то поиск по DOM = <locatorValue>,
** иначе поиск как в "identifier" варианте;
* "identifier" - поиск сначала по ID = <locatorValue>, затем по NAME = <locatorValue>;
* "id" - поиск по ID = <locatorValue>;
* "name" - поиск по NAME = <locatorValue>;
* "dom" - поиск по DOM = <locatorValue>;
* "stored" - поиск в спец. кеше на уровне JS;
* "webdriver" - ? (вообще не понимаю что это);
* "class" - поиск по CLASS = <locatorValue> (вроде как по полному соответствию);
* "alt" - поиск по ALT = <locatorValue> (тоже соответствие);
* "ui" - поиск в UIMap элементов с <locatorValue> (UIMap - это подготовленная "карта" страницы, описывающая основные элементы, их адресацию и иерархию. <locatorValue> в таком случае может быть чем-то типа "UserInfo->Addresses->City" или намного-намного сложнее :) ).

Там, где <locatorValue> адресует коллекцию, стараются возвратить первый найденный элемент.

Часть из типов - из IDE, часть - из v1 и v2.


Ну и возвращаясь к вопросу:

Xpath выглядит так "/html/body/div[6]/div[3]/div/div/div[2]/div/table/tbody/tr/td[2]"
судя по всему номера есть. Но обратиться не получается..



Есть 2 варианта решения, как я понимаю:
1. использовать относительную, а не абсолютную адресацию, например "//body/div[6]/div[3]/div/div/div[2]/div/table.0.2"
2. использовать "xpath=/html/body/div[6]/div[3]/div/div/div[2]/div/table.0.2"

Сообщение отредактировал sawoy: 15 мая 2012 - 01:12

  • 1


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале