ruby 自動化

Überblick und Verwendung von Selenium Webdriver in Ruby

Shou Arisaka
1 Min. Lesezeit
25. Okt. 2025

Webdriver ermöglicht Browser-Automatisierung. Zusätzlich zu UI-Tests ist es auch nützlich, um Browser automatisch verschiedene Operationen durchführen zu lassen.

Installation

gem install selenium-webdriver

Referenz

[https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings ](https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings) [http://seleniumhq.github.io/selenium/docs/api/rb/_index.html ](http://seleniumhq.github.io/selenium/docs/api/rb/_index.html)

element Klassenmethoden

Selenium::WebDriver::Element. Methoden wie click und send_key werden häufig verwendet.

[http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Element.html ](http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Element.html)

Warten für eine bestimmte Zeit

Es ist möglich, es warten zu lassen, bis ein Element erscheint

Explizites Warten

  wait = Selenium::WebDriver::Wait.new(timeout: 3)
  wait.until { driver.find_element(id: "cheese").displayed? }

Implizites Warten

  driver = Selenium::WebDriver.for :firefox
  driver.manage.timeouts.implicit_wait = 3 # seconds

JavaScript-Dialog-Behandlung

You can use WebDriver to handle Javascript alert(), prompt() and confirm() dialogs. The API for all three is the same.

Sie können Warnungen und dergleichen behandeln. Es ist möglich, Alert-Automatisierungsinterferenzen zu verhindern.

Beispiel

driver.find_element(name: 'element_with_alert_javascript').click
a = driver.switch_to.alert
if a.text == 'A value you are looking for'
  a.dismiss
else
  a.accept
end

Debugging

Vollständige Logs ausgeben Selenium::WebDriver.logger.level = :debug

In Datei schreiben Selenium::WebDriver.logger.output = 'selenium.log'

Diesen Artikel teilen

Shou Arisaka 25. Okt. 2025

🔗 Links kopieren