Questions tagged [selenium]

Selenium is a popular open-source tool for automating web browsers. When using this tag, also include other tags for the specific components you are using, e.g. selenium-webdriver for the language bindings, selenium-ide, selenium-grid, etc.

Selenium is a portable software testing framework for web browser automation. The Selenium IDE provides a record/playback tool for authoring tests without learning a test scripting language. Selenium provides a test domain-specific language (DSL) to write tests in a number of popular programming languages, including Java, C#, Ruby, Groovy, Python, PHP, and Perl. Test playback is possible in most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms.

When using this tag, also include other tags for the specific components you are using, e.g. selenium-webdriver for the language bindings, selenium-ide, selenium-grid, etc.

Selenium 3

Selenium 3 is the third installment of the Selenium software. The major change for Selenium 3, is that all RC users will find that Selenium 3 will not work by dropping in. The same however is not true for WebDriver users. WebDriver users will find that Selenium 3 is just a drop-in replacement. All RC code has been removed from the source base. These are some of the other improvements/changes:

  • WebDriver users will just find bug fixes and a drop-in replacement for 2.x.
  • Selenium Grid users will also find bug fixes and a simple update.
  • The WebDriver APIs are now the only APIs actively supported by the Selenium project.
  • The Selenium RC APIs have been moved to a “legacy” package.
  • The original code powering Selenium RC has been replaced with something backed by WebDriver, which is also contained in the “legacy” package.
  • By a quirk of timing, Mozilla has made changes to Firefox that mean that from Firefox 48 you must use their geckodriver to use that browser, regardless of whether you’re using Selenium 2 or 3.

Selenium 2

Selenium 2 WebDriver, the successor to Selenium 1, is the second installment of Selenium, and ties directly into the browser API that is provided by the browser manufacturer.

Selenium 1

Selenium 1, also known as Selenium RC (Remote Control), is the first version of Selenium that provided JavaScript libraries that would be injected into the browser.

Selenium was originally developed by Jason Huggins, who was later joined by other programmers and testers at ThoughtWorks. It is open-source software, released under the Apache 2.0 license, and can be downloaded and used personally or commercially without charge.

Selenium IDE

Selenium IDE is a complete integrated development environment (IDE) for Selenium tests. It is implemented as a extension and allows recording, editing, and debugging tests. It was previously known as Selenium Recorder. Selenium IDE was originally created by Shinya Kasatani and donated to the Selenium project in 2006.

Selenium Builder

Selenium Builder is a record and playback IDE for Selenium tests. It is implemented as a plugin and allows recording, editing, and debugging tests. It was initially created by SauceLabs and the source code base was given to the Selenium project with the plan to eventually replace 'Selenium IDE'.

Selenium Grid

  • Selenium Grid Extras - A framework that provides additional features beyond the basic Selenium Grid like video recording.
  • SeLion - A (Java) framework for running Selenium tests with additional features beyond the basic Selenium Grid functionality, particularly like stability improvements, etc.
  • Selenium Grid Extensions - A set of extensions for Selenium Grid that provide additional features like running Sikuli tests/automation remotely, upload/download files on a grid node.


Related tags

101720 questions
19 answers

Get HTML source of WebElement in Selenium WebDriver using Python

I'm using the Python bindings to run Selenium WebDriver: from selenium import webdriver wd = webdriver.Firefox() I know I can grab a webelement like so: elem = wd.find_element_by_css_selector('#my-id') And I know I can get the full page source…
Chris W.
  • 37,583
  • 36
  • 99
  • 136
38 answers

Selenium using Python - Geckodriver executable needs to be in PATH

I am going over Sweigart's Automate the Boring Stuff with Python text. I'm using IDLE and already installed the Selenium module and the Firefox browser. Whenever I tried to run the webdriver function, I get this: from selenium import…
  • 8,294
  • 7
  • 28
  • 44
26 answers

Can a website detect when you are using Selenium with chromedriver?

I've been testing out Selenium with Chromedriver and I noticed that some pages can detect that you're using Selenium even though there's no automation at all. Even when I'm just browsing manually just using Chrome through Selenium and Xephyr I often…
51 answers

How can I take a screenshot with Selenium WebDriver?

Is it possible to take a screenshot using Selenium WebDriver? (Note: Not Selenium Remote Control)
52 answers

Debugging "Element is not clickable at point" error

I see this only in Chrome. The full error message reads: "org.openqa.selenium.WebDriverException: Element is not clickable at point (411, 675). Other element would receive the click: ..." The element that 'would receive the click' is to the side…
  • 4,741
  • 3
  • 14
  • 3
11 answers

Is there a way to get element by XPath using JavaScript in Selenium WebDriver?

I am looking for something like: getElementByXpath(//html[1]/body[1]/div[1]).innerHTML I need to get the innerHTML of elements using JS (to use that in Selenium WebDriver/Java, since WebDriver can't find it itself), but how? I could use ID…
  • 8,808
  • 11
  • 32
  • 35
3 answers

Headless Browser and scraping - solutions

I'm trying to put list of possible solutions for browser automatic tests suits and headless browser platforms capable of scraping. BROWSER TESTING / SCRAPING: Selenium - polyglot flagship in browser automation, bindings for Python, Ruby, …
  • 1,429
  • 5
  • 17
  • 33
34 answers

Error message: "'chromedriver' executable needs to be available in the path"

I am using selenium with python and have downloaded the chromedriver for my windows computer from this site: After downloading the zip file, I unpacked the zip file to my downloads…
  • 3,311
  • 10
  • 31
  • 62
49 answers

WebDriverException: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser

I am trying to launch chrome with an URL, the browser launches and it does nothing after that. I am seeing the below error after 1 minute: Unable to open browser with url: '' (Root cause:…
30 answers

Typing the Enter/Return key in Selenium

I'm looking for a quick way to type the Enter or Return key in Selenium. Unfortunately, the form I'm trying to test (not my own code, so I can't modify) doesn't have a Submit button. When working with it manually, I just type Enter or Return. How…
  • 3,767
  • 3
  • 19
  • 12
16 answers

Wait until page is loaded with Selenium WebDriver for Python

I want to scrape all the data of a page implemented by a infinite scroll. The following python code works. for i in range(100): driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(5) This means every time I…
  • 3,435
  • 3
  • 13
  • 7
18 answers

How to select a drop-down menu value with Selenium using Python?

I need to select an element from a drop-down menu. For example: