Как вы проверяете страницу на текст с помощью Selenium 2 и Firefox? - PullRequest
4 голосов
/ 05 октября 2011

Я пытаюсь проверить, присутствует ли текст, используя Selenium 2 и Firefox, но, похоже, не могу найти способ использовать. Я пытался использовать метод is_text_present , который, кажется, является тем, что все говорят, работает, но не будет работать для меня. Я получаю возвращенную ошибку:

NoMethodError: неопределенный метод "is_text_present" для # Selenium :: WebDriver :: Driver: 0x1017232e0 browser =: firefox

Как проверить страницу на наличие текста с помощью Selenium 2 и Firefox?

Когда я попробовал этот параметр переполнения стека " Поиск текста на странице с селеном 2 ", он не работал для меня, я считаю, что он не работает, потому что я использую Ruby для тестирования, а не Java.

Ответы [ 5 ]

6 голосов
/ 26 апреля 2013

Если вы не знаете, в каком элементе должен быть ваш текст, вы можете использовать:

driver.page_source.include? 'TEXT_TO_SEARCH'

В противном случае вы можете использовать, как предложили Ллонг и Томп:

driver.find_element(:id=>"ELEMENT_ID").text.include? 'TEXT_TO_SEARCH'
driver.find_element(:class=>"ELEMENT_CLASS").text.include? 'TEXT_TO_SEARCH'
4 голосов
/ 11 октября 2011

Вы можете найти текст в JAVA, используя следующий фрагмент кода ... Попробуйте использовать то же самое для Ruby: - . Driver.getPageSource () содержит ( "TEXTTOSEARCH");

1 голос
/ 30 мая 2013

это сработало для меня ...

driver.page_source.should_not include 'Login failed'
1 голос
/ 28 ноября 2011
require 'selenium-webdriver'
br = Selenium::WebDriver.for :firefox
br.get "http://cnn.com"
br.find_element(:id=>"cnnMainPage")
br.find_element(:id=>"cnnMainPage").text.include? "Mideast"

Я проверил это в irb, так что вы можете столкнуться с проблемами синхронизации (возможно, придется подождать, пока элемент появится первым).

1 голос
/ 07 октября 2011

Я не уверен, как это сделать в Ruby, но вы должны быть в состоянии вызвать метод getPageSource() и проверить, содержит ли он искомую строку текста.

Если вы не можете найти текст в источнике, вы, вероятно, захотите определить точный элемент, содержащий текст, и вызвать метод getText() для этого элемента. Например, вот некоторые общие идентификаторы для элементов:

driver.findElement(By.xpath("xpathstring")).getText()
driver.findElement(By.className("className")).getText()
driver.findElement(By.name("elementname")).getText()
driver.findElement(By.id("idname")).getText()

Есть еще несколько идентификаторов элементов, вам придется обратиться к документации, если они не работают для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...