#selenium #appium
#селен #appium
Вопрос:
List<WebElement> getAllTextOnPage = driver.findElements(By.id("com.condecosoftware.deskbooking:id/action_bar_root"));
Ответ №1:
добавление к ответу Винода: селекторы CSS также работают, если у вас нет идентификатора / вы не можете гарантировать, каким будет идентификатор (если его динамический параметр). Например:
driver.findElement(By.css(".element:first-of-type")).getText();
driver.click('.element:first-of-type a')
Комментарии:
1. Могу ли я использовать CSS locator для автоматизации Appium и мобильных приложений?
2. вы можете с помощью selenium, я не уверен насчет appium, но я должен думать, что вы все еще можете? он все равно будет ломаться, потому что он ищет несколько. Может быть, это не очень поможет, но я заметил, что вы говорите, что хотите их все — используете ли вы selenium с javascript или node и т. Д.? — вы могли бы попробовать перебирать массив? Найден поток sqa.stackexchange.com/questions/8029 /…
3. Но мне нужно получить текст даты на мобильном устройстве, для которого я не могу использовать css selecter
Ответ №2:
ДЛЯ ПОЛУЧЕНИЯ ЗНАЧЕНИЯ ОДНОГО ЭЛЕМЕНТА :
Вы находите несколько элементов с помощью findElement s, вместо этого это должен быть findElement
Попробуйте приведенный ниже код :
String textValue=driver.findElement(By.id("com.condecosoftware.deskbooking:id/action_bar_root")).getText();
ДЛЯ ПОЛУЧЕНИЯ ТЕКСТОВОГО ЗНАЧЕНИЯ ВСЕХ ЭЛЕМЕНТОВ :
Примечание: не все элементы будут иметь текстовое значение. Некоторые элементы могут иметь нулевое значение. Ниже приведен код для получения текстового значения всех элементов.
Для получения текста всех элементов :
List<WebElement> elementsCollection=driver.findElements(by.xpath("your xpath"));
int size = elementsCollection.size();
for(int counter=0;counter<size;counter )
{
System.out.println(elementsCollection.get(counter).getText());
}
Комментарии:
1. Я хочу получить весь текст на этой странице, поэтому я перечисляю пользователей и нахожу элементы
2. @ManishSingh Я обновил ответ для получения текстового значения всех элементов. Пожалуйста, используйте свой xpath в коде. Это должно сработать.