Dans Watir vous pouvez obtenir le handle WIN32OLE de la fenêtre IE en utilisant la méthode suivante.Comment obtenir WIN32OLE gérer pour IE via watir-webdriver?
irb(main):059:0> browser.ie
=> #<WIN32OLE:0x28d12b8>
J'ai besoin d'obtenir le même retour pour IE qui a été créé par watir-webdriver.
Y a-t-il un moyen? Ou au moins quelqu'un peut me pointer la direction à creuser.
J'ai besoin de ce truc pour attacher le plugin HTTPwatch à mon instance de navigateur. Voici un exemple de code HTTPWatch.
require 'watir'
require 'win32ole'
browser = Watir::Browser.new
controller = WIN32OLE.new('HttpWatch.Controller')
plugin = controller.IE.Attach(browser.ie)
UPD: Merci à Justin Ko J'ai le code de travail
require 'win32ole'
require 'watir-webdriver'
browser = Watir::Browser.new :ie
title = browser.title
browser.goto "google.com"
length = WIN32OLE.new('Shell.Application').Windows.count - 1
(0..length).each do |i|
begin
WIN32OLE.new('Shell.Application').Windows(i).Document.Title
$ie = WIN32OLE.new('Shell.Application').Windows(i)
rescue
end
end
controller = WIN32OLE.new('HttpWatch.Controller')
plugin = controller.IE.Attach($ie)
Salut, merci beaucoup pour votre aide. Votre code n'a pas fonctionné mais une version légèrement modifiée fonctionne très bien. Ici, il est 'require 'win32ole' require 'watir-WebDriver' navigateur = Watir :: Browser.new: title = -à-dire browser.title browser.goto "google.com" longueur = WIN32OLE.new ('Shell.Application'). Windows.count - 1 (0..longueur) .que faire | i | \t commencent met WIN32OLE.new ('Shell.Application'). (Windows i) .Document.Title met $ ie = WIN32OLE.new ('Shell.Application'). (Windows i) sauvetage fin fin controller = WIN32OLE.new ('HttpWatch.Controller') plugin = controller.IE.Attache ($ ie) ' –