İlan

Otomasyonun anahtarı işleri daha önce hiç olmadığı kadar hızlı ve kolay yapmaktır. Peki ne yapmanız uzun sürüyor? İş yükünüzün hangi kısmını otomatikleştirmek istersiniz?

Verimlilik söz konusu olduğunda, Excel, finansmanı düzenlemek gibi şeyler için insanların kullandığı en yaygın araçtır. projeleri yönetmek, ve hedeflere öncelik vermek. Geçen hafta, nasıl yapılacağını açıkladım IE'yi otomatikleştir URL sayfalarını Excel sayfalarında ayarlayarak ve ardından URL gruplarını doğrudan Excel içinden başlatmayı otomatikleştirmek için Windows'ta IE nesnesini kullanarak.

Bu makalenin ardından, birçok okuyucu aynı şeyi Firefox veya Chrome'da nasıl yapacağını sordu. Ne Firefox ne de Chrome, VBA otomasyonu için kullanılabilen Windows'da bulunan benzer bir nesneye sahip olmadığından, diğer tarayıcılarda aynı tür eylemleri gerçekleştirmek için ek bir adım gerekir. Bu adım, Selenyum VBA - Selenium için bir Windows COM sarmalayıcısı.

Yalnızca IE değil, bir tarayıcı açmak için VBA'yı destekleyen herhangi bir uygulamadan arama yapmanızı ve bu tarayıcı oturumunu kontrol etmenizi sağlar. Birçok popüler tarayıcı satıcısının Selenium'u tarayıcılarının yerel bir parçası olarak kullanması için yaygın olarak kullanılan güçlü bir otomasyon aracıdır. Otomasyon uygulamalarınızda kullanmanızın önümüzdeki yıllarda da destekleneceğinden emin olabilirsiniz.

instagram viewer

Selenium ile Firefox ve Chrome'u Otomatikleştirme

Bu projeye başlamadan önce, Selenium VBA paketini indirip yüklemeniz gerekir. Sonra, tıpkı şu makalede tartıştığım gibi: IE otomatikleştirme, Excel'de herhangi bir VBA yazmak için tasarım moduna girmeniz ve kodu görüntülemeniz gerekir. Bunu daha önce hiç yapmadıysanız, “Geliştirici” menü öğesine gitmeniz ve Tasarım Modu'nu tıklamanız yeterlidir. “Ekle” düğmesine tıklayın, ActiveX düğmesine tıklayın ve bir yere sayfanıza çizin. Bunu yaptıktan sonra, düğmesine tıklayın ve ardından “Kodu Görüntüle” ye tıklayın.

selenium1

Kod düzenleyici penceresinde, sol altta, düğmenin ne anlama geldiğini yansıtacak şekilde hem "Ad" hem de "Altyazı" yı değiştirdiğinizden emin olun. Bu durumda, düğme e-tabloda listelediğiniz URL'lerin listesini açmak olacaktır. Benim durumumda, sadece cmdLoadURLs olarak adlandırdım ve “URL'leri yükle” başlığını yaptım (düğmede gösterilen şey budur).

selenium1b

Ardından, Araçlar menüsünü ve ardından “Referanslar” ı tıklatarak Selenium Sarıcıyı etkinleştirmeniz ve ardından “SeleniumWrapper Türü Kitaplığı” referansına göz atmanız gerekir. Bu başvuru kutusunu işaretleyin ve ardından Tamam'a tıklayın.

selenium2

Artık Selenium Wrapper'ı kullanarak tarayıcı otomasyon kodu yazmaya başlamaya hazırsınız!

Selenyum Paketleyicinin İşlevselliği

Selenium VBA Wrapper size bu tek makalede gösterebileceğimden çok daha fazla işlevsellik sunuyor. Selenium nesnesini “Yeni SeleniumWrapper” olarak tanımlayarak, sadece WebDriver'ın ötesinde ne kadar kullanılabilir olduğunu görebilirsiniz. Dönemi yazdığınızda, tarayıcı görüntüleri, PDF dosyaları, klavye tuşları ve daha fazlası gibi kontrol edebileceğiniz nesne türlerinin tüm öğeleri açılır.

selenium3

Bu örnek kod WebDriver'ı kullanacaktır. Kodunuzda Selenium WebDriver nesnesini kullandıktan ve dönemi yazdıktan sonra, web tarayıcınızı otomatikleştirmek için kullanabileceğiniz çok uzun bir yöntem ve özellik listesi açılır.

selenium4

Kullanılabilir olan her şeyi öğrenmek biraz zaman alabilir, ancak Google, aşağıdaki örneklerin arkasında bazı iyi örnekler verebilir: Google Kod sayfası. Ne yazık ki, bildiğim kadarıyla, Selenyum'u kullanmak için açık bir rehber yok, ancak herhangi bir kaynak sağlayabilecek okuyuculara minnettar olurum!

VBA Selenyum Kodunuzu Yazma

Bu örnekte, IE makalesinde olduğu gibi, Firefox'ta otomatik olarak açmak istediğim URL'lerin bir listesini oluşturdum. Daha sonra bu makalenin ilk bölümünde açıklandığı gibi düğmeyi oluşturdum.

selenium5

Düğmenin arkasındaki kod basittir, ancak her bölümün ne yaptığını açıklayacağım. Öncelikle, Firefox uygulamasını başlatmanız gerekiyor. “Selenium.start” yöntemi bunu yapacaktır. SetTimeout ve setImplicitWait yöntemleri kritik değildir, ancak tarayıcı herhangi bir nedenle yanıt vermezse uygulamanızın sonsuza kadar kilitlenmesini önleyebilir.

Dim selenyum Yeni SeleniumWrapper Olarak. WebDriver. Nesne Olarak Dim FF. Tamsayı Olarak Dim intRowPosition. Soluk tuşlar Yeni SeleniumWrapper.keys selenyum olarak. "Firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selenyum. Sayfa1'i açın ("A" ve intRowPosition)

Son birkaç satır, Excel verilerinin satırını okunacak şekilde ayarlar (ikinci URL, ilk URL'nin e-tablo) ve ardından o e-tablodaki URL'yi okumak ve onu açmak için “selenium.open” yöntemini uygular Firefox.

selenium7

Kodun sonraki bölümü satır işaretçisini artırır ve listedeki bir sonraki URL'yi okur. Hücre boş değilse, Firefox'ta yeni bir sekme başlatmak için SendKeys yöntemini kullanır, bu satıştan sonraki URL'yi okur ve URL'yi bu yeni sekmede açar.

intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString selenyum. SendKeys tuşları. Kontrol & "t" selenyum. Sheet1Range ("A" & intRowPosition) öğesini açın intRowPosition = intRowPosition + 1. Wend Set IE = Hiçbir şey

Komut dosyası, tüm URL'ler kendi sekmelerinde açılana kadar tüm listenizde dolaşır. Döngü ikinci kez geçip MUO'yu yeni bir sekmede açtıktan sonra tarayıcı.

selenium8

Bu kodu Chrome için kullanmak istiyorsanız, yapmanız gereken tek şey “selenium” satırını değiştirmek. Bunun yerine "firefox" u "chrome" olarak başlatın.

Şimdi Kendi Komut Dosyanızı Oluşturun

Yukarıda bahsettiğim gibi, Selenyum Sarıcısının gücünü öğrenmenin en iyi yolu “selenyum” yazmaktır kodunuzda noktaya basın ve kullanılabilir özelliklerin çok uzun listesine göz atın ve yöntemleri. Örneğin, Firefox veya Chrome'da açık olan sekmenin URL'sini almak için .URL özelliğini kullanabilirsiniz.

selenium9

Gördüğünüz gibi, bu makalenin kapsamı dışına çıkabileceğiniz çok daha fazla şey var. Ama deneyin ve eğlenin. Neyse ki, işlevlerin çoğu, her bir işlevin hangi parametreleri beklediğini gösteren yardım metni açılır. Bu nasıl kullanılacağını bulmak söz konusu olduğunda çok yardımcı olabilir.

Bir sonraki senaryo projeniz için, VBA ile kendi basit uygulamanızı oluşturma VBA ile Kendi Basit Uygulamanızı Nasıl Yapabilirsiniz?Sorunları çözmek için kendi VBA başvurunuzu nasıl yapacağınızı bilmek ister misiniz? Kendi VBA yazılımınızı oluşturmak için bu ipuçlarını kullanın. Daha fazla oku ?

Ryan Elektrik Mühendisliği lisans derecesine sahiptir. 13 yıl otomasyon mühendisliği, 5 yıl BT'de çalıştı ve şu anda bir Uygulama Mühendisi. MakeUseOf'un eski bir Genel Yayın Yönetmeni, Veri Görselleştirme üzerine ulusal konferanslarda konuştu ve ulusal TV ve radyoda yer aldı.