2014-01-23 1 views
2

Это очень простой вопрос, но я не могу найти ответа на него, потому что документация для привязок javascript selenium-webdriver настолько разрежена. (Существует много документации для привязок java, но javascript - это еще одна история)Получение видимого текста элемента

Предполагая driver и webdriver, поскольку они, как правило, инициализируются, как получить текст произвольного элемента?

Я пробовал невероятное количество комбинаций getText(), then() и т. Д., Но ничего не работает. Я должен делать что-то совершенно неправильное.

+0

Вы пишите свои тесты в javascript или просто хотите выполнить некоторые javascript из ваших тестов (написанных на Java/C#/что-то еще)? –

+0

Мои тесты написаны на javascript. Я использую Mocha, Chai и selenium-webdriver (на Node.js). – rinogo

+0

Does 'element.getAttribute (" innerText ")' дает вам текст элемента? – Faiz

ответ

5

Для чего это стоит, я нашел следующий аналогичный (рабочий) бит кода в другом тесте в своем тестовом наборе. Мне странно, что я смог получить другой тест (ниже), но не тот, на который я сосредоточился.

driver.findElement(webdriver.By.css('.failures em')).getText().then(function(v) { 
    expect(v).to.equal('0'); 
    done(); 
}); 

Возможно, я пропустил что-то еще.

Независимо от того, что я стал слишком расстроен запутанным сочетанием синхронного/асинхронного кода selenium-webdriver с обещаниями и тому подобное. Я решил перейти к использованию WebdriverJS (http://www.webdriver.io/), и до сих пор нашел миграцию очень интуитивной и удовлетворительной. Тестирование снова весело! :)

Удачи!

+0

2017 Обновление: вы также можете проверить PhantomJS и NightmareJS в зависимости от ваших потребностей. – rinogo

 Смежные вопросы

  • Нет связанных вопросов^_^