Как добавить текст в любой элемент HTML? - PullRequest
1 голос
/ 07 ноября 2011

Я хочу добавить текст в элемент body, но не знаю как.Какой метод будет работать с тегом body?Извините за мой английский и спасибо за ответы.

Ответы [ 3 ]

1 голос
/ 02 декабря 2011

В Watir вы можете управлять веб-страницей (DOM) с помощью JS, вот так:

 browser.execute_script("document.getElementById('pageContent').appendChild(document.createTextNode('Great Success!'));")

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

Чтобы имитировать это поведение, вы можете написать ui-тест, который изменяет формы на веб-странице, чтобы, например, можно было вводить что угодно в любое поле вместо ограниченного раскрывающегося списка.

Для этого пользовательский интерфейс должен:

  • манипулирование DOM, чтобы установить входные данные формы без ограничений (заменить select на входные и т. Д.)
  • Тест пользовательского интерфейса должен знать, какие значения использовать, во многих случаях бессмысленно вводить случайные значения. Ваше веб-приложение должно предоставить несколько хороших «нежелательных» вариантов.
0 голосов
/ 07 ноября 2011

Если вы не прошли свой путь, хотя бы по учебнику watir, я бы посоветовал вам сделать это. Это касается таких вещей, как заполнение текстовых полей и т. Д.

Научитесь использовать инструменты разработчика для вашего браузера, Firebug для Firefox или встроенные инструменты для IE и CHrome. Они позволят вам смотреть на вещи, когда вы взаимодействуете с сайтом.

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

Скорее всего, если у вас есть место, где вы можете ввести текст, то это какая-то форма управления вводом, она может не начинаться таким образом, вам может потребоваться нажать на какой-то другой элемент, чтобы появилась область ввода, но без образца HTML все, что мы можем сделать, это угадать.

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

0 голосов
/ 07 ноября 2011

Почему вы хотите изменить веб-страницу в Watir? Это для автоматизированного тестирования, а не манипуляции с DOM.

Если вы хотите добавить что-то к элементу DOM в javascript, вы можете сделать это так:

var txt = document.createTextNode(" This text was added to the DIV.");
document.getElementById('myDiv').appendChild(txt); 

Или используйте некоторую библиотеку для манипулирования DOM, например, jQuery.

...