Frequently asked questions

Why do I get the error “Execute failed: Selenium data not available. Please re-run the complete workflow.” when executing my workflow?

The Selenium Nodes depend on a running Web Driver for execution. Due to this fact, it’s not possible to partially re-run a saved workflow after re-opening it, as (1) the Web Driver instance is usually not available any longer and (2) all steps in the workflow thus have to be re-executed. In such cases, please re-execute the workflow beginning from the Start WebDriver node.

I have existing Selenium scripts and/or I prefer recording my Selenium scripts directly in my browser. Can I still run them using KNIME?

Absolutely. If you prefer the recording approach, we highly recommend having a look at Selenium Builder. Selenium Builder is a Firefox extension which allows to build Selenium scripts easily by interacting with the browser.

When you’re finished building your script, save it as Selenium 2 JSON file and use the Execute Selenium script node to run it in your KNIME workflow. And here’s the thing: If you want to stay super flexible, define variables in your script and you can set them through KNIME. Same goes for variables defined within your script: They are returned through the output table of the script node.

I want to use browsers which are running on a remote system. Is that possible?

Sure thing. Select the option RemoteWebDriver in the WebDriver Factory node. You can either setup your own Selenium server by following the instructions given here or use existing services such as BrowserStack. The latter offer a great variety of different platforms, browsers and versions and are therefore perfect for running tests of your web applications.

Are you affiliated with the KNIME.com AG, ThoughtWorks or SeleniumHQ?

No.

What can I do in case something is not working as expected, I’m missing a specific functionality or I have suggestions for additional features?

We’re there to help. Simply drop us an e-mail, ideally including a sample workflow in case you have any specific issues. In case you’re reporting any errors or failing functionality, please also add the corresponding log output. Therefore enable the DEBUG log level in KNIME’s preferences KNIME → KNIME GUI and re-run the failing action if necessary.

During execution of my workflow I receive an error message which says “Error communicating with the remote browser. It may have died.” or “There are no open windows!” or something similar.

The Selenium Nodes rely on a running browser instance, which must not be closed. During execution, an actual browser instance is started which is then controlled through the KNIME workflow. If you want to run your workflow without any browser windows, use the PhantomJS driver.

I want to start PhantomJS, but the Start WebDriver node does not finish executing. What’s going on?

In case you’re on Windows, please make sure, that you’re at least using Windows Vista, as stated here.

Is there any possibility to change the user agent when using PhantomJS?

The user agent string can be modified by adding a capability with the key phantomjs.page.settings.userAgent (mind the camel case) and the value of the user agent to use in the WebDriver Factory node. Here’s a simple sample workflow.

My company’s or ISP’s firewall blocks access to the software site. Is there any possibility to download the Selenium Nodes anyway?

A zipped version of the software site for KNIME 3.1+ is available here. In order to use it, download the file, add a new software site as shown in the download instructions, but instead of entering a URL, hit the Archive… button and select the downloaded ZIP file. Proceed as outlined in the instructions. Attention: Keep in mind, that you will have to take care of keeping your installation up-to-date by manually downloading new versions regularly.

How can I download files with the Selenium Nodes?

Downloading files with Selenium is not trivial. One of the most apparent issues is the “Save file” dialog which pops up, when clicking a download link — as soon as this dialog has opened, there is no way to interact with the browser through Selenium any longer. There are workarounds for some browsers which tamper with the download settings to turn off the file dialog, however we suggest a completely different approach when you need to download any files:

  1. In case, the download does not require any cookies or further HTTP headers to be present, simply get the file through KNIME’s Download or Palladian’s HttpRetriever node. You can still use the Selenium nodes, but as final step extract the href destination from your link with the Extract Attribute node and use the extracted URL for downloading.
  2. If you cannot download the file through previous method, because the server expects certain HTTP headers, you can get the file through a JavaScript snippet which performs an XMLHttpRequest within the browser session, and hand the file content back to KNIME as a string where you can process it further. This workaround is intended only for smaller files, because the entire file content has to be kept in memory. An example workflow can be found on the examples page.

When I try to run Firefox, I now get the error “Failed to connect to binary FirefoxBinary on Port 7055”. What’s going on?

Recent versions of Firefox (greater or equal 48) should be used through the Marionette driver. See here for the technical reasons. Before running Marionette, make sure to set up the path to your Firefox binary in the preferences KNIME → Selenium → Path to Firefox.

I cannot get Opera to work. When trying to start the browser, I get an error message stating “Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.” or “session not created exception”.

For Opera versions later than 32, please select Opera (using Chrome driver) in the WebDriver Factory node. This is a workaround due to the fact, that Opera has not updated their OperaChromiumDriver to work with newer browser versions.

Although I have entered my valid license information, I get the error message “No license specified. Please obtain a license and enter it on the Selenium preference page in order to use the Selenium nodes.” What’s wrong?

The licensing information is stored within KNIME’s global preferences. To make the license available on a KNIME Server, please refer to the section PREFERENCES AND INI-FILE in the Installation and Administration Guide.

In order to run workflows in batch mode, please export your KNIME preferences to an .epf file using the corresponding menu entry and specify the path to this file on the command line through the following parameter: -preferences=/path/to/preferences.epf

How can payments be made?

Payments can be made by credit card and you will receive your license code within seconds. We accept Visa, MasterCard, or American Express cards. Your credit card statement will mention “seleniumnodes.com” as payment receiver. We use Stripe for credit card payments.

Alternatively, you can pay through wire transfer. Following your order, we will send you an invoice which contains our bank information including IBAN and BIC. We’ll send the license code as soon as we have received your payment.

Feel free to drop us a line, in case you need to address any payment questions upfront.

What’s new? Is there a changelog?

Yes, Sir. This way please!

Where’s my trial license? I’ve requested a trial license but not received any e-mail!

You should receive your trial license within twelve hours maximum. In fact, it’s only a matter of minutes in most cases. It is always worth having a look whether the e-mail might have ended up in your spam folder erroneously.

In case you suspect any issues, send us an e-mail and we’re glad to help!

Why should I buy a license at all? Ordering a new trial license each month is sooooo much cheaper!!!1

As our terms and conditions to which you agreed during installation clearly state, the trial licenses are intended for a one time evaluation period. A trial license gives you the opportunity to explore the full functionality of the Selenium Nodes entirely free of charge and without any risk or obligation.

Developing, maintaining, and supporting the Selenium Nodes takes a great amount of time and effort. We hope you see the benefits of our software during the trial phase. Should you want to continue using the Selenium Nodes after the trial period, it is mandatory to purchase a regular license — this will support the constant improvement of the Selenium Nodes.