2015-04-23 6 views
1

Я установил watir-webdriver в мое приложение rails, я хочу показать предварительный просмотр сайта мгновенно, я хочу показать события click для просмотра на той же странице не в новом окне/tab, здесь я хочу показать предварительный просмотр внутри iframe на главной странице, я попробовал следующее:Ваттные события click внутри iFrame?

приложение/модели/preview.rb

def self.live_preview 
    browser = Watir::Browser.new :firefox, profile: 'MR' 
    browser.goto "http://example.com" 
    browser.text_field(id: 'email').set('[email protected]') 
    browser.text_field(id: 'password').set('password') 
    browser.button(name: 'commit').click 
    browser.button(name: 'learn_more').click 
    end 

приложение/просмотров/watir.rb

<%= Preview.live_preview %> 

приложение/просмотров/index.html.erb

<iframe id="preview" src="/watir"></iframe> 

Когда индексная страница загружается он открывает новую вкладку, то все события выполняются, но я хочу с на той же странице

Я хочу похож на Watir-классический mentioned here работать в светлячок на убунту

+0

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

+0

@ChuckvanderLinden Да, я могу сделать это вручную, это всего лишь несколько событий click внутри iframe, и я хочу привязать существующее окно браузера не к новому окну в firefox –

ответ

0

Да Соблюдая образом, вы можете нажать на ссылку в IFRAME

require 'watir-webdriver' 
b = Watir::Browser.new 
b.goto "index_page"  
b.frame(:id => 'top_right').link(:index => 0).click 
+0

iFrame уже присутствует на индексной странице. Я хочу визуализировать события watir внутри 'preview 'iFrame, b.goto перенаправляет на новую вкладку, я не хочу, чтобы новое окно/вкладка –

+0

сначала вам нужно было перейти на страницу индекса, где есть iframe, тогда вы можете определить iframe с помощью 'b.frame (: id => 'top_right') ', тогда вы можете щелкнуть любую ссылку на нем с помощью .link (: index => 0) .click' index должен быть правильным –

+0

У меня есть страница индекса, содержащая предварительный просмотр iFrame, я хочу выполнить watir-webdriver события внутри предварительного просмотра iFrame –

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