I followed the steps according to this answer https://stackoverflow.com/a/43899952/7282061 and still could not run tests in windows 7 machine with Firefox 54.0.1 installed. It opened the browser but did not run tests without the Gecko driver.
But it worked without the Gecko driver in a Linux machine that had Firefox 52 and Selenium 2.52, irrespective of whether I set marionette to true or false in DesiredCapabilities!!! Can someone please explain? Selenium 2.52 supports newer Firefox versions without this geckoDriver?
Related
I am looking to install Chrome Driver (For my selenium project) on an Amazon Linux 2 (Arm 64).
I have done this on Ubuntu and seems pretty straight, it also seems straight on AL2 x86, like this script from Intoli but it 404 when looking for Chrome on ARM :(. So far I see Chrome is not available for ARM so I see the alternative is to use Chromium.
I tried installing it manually but it seems there is no compiled on Chromium downloads page for ARM.
Finally i found the Electron's unofficial webdrivers, which seem to be the answer, and after downloading, installing dependencies (libXcursor, libXfixes, libXdamage) and running it:
[ec2-user#scraping1 current]$ chromedriver
Starting ChromeDriver 100.0.4896.143 (6bf1afe83487405ea0aff37182f05e3db45559c2-refs/branch-heads/4951#{#831}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
And run my project I get:
2.7.3 :004 > Selenium::WebDriver::Service.driver_path = "/usr/bin/chromedriver"
=> "/usr/bin/chromedriver"
session = Capybara::Session.new
Webdrivers::BrowserNotFound: Failed to find Chrome binary.
Which means i don't have Chrome installed, but then how to install it? I have seen this question which seems to be my same problem but it is unclear to me how to install Chromium; I see it is needed to download and use the chromedriver compiled for ARM64 which I have done already.
I need to automate tasks to extract information from websites using the uBlock plugin with Chrome driver using the selenium module in Python 3.
I am running my code remotely without a GUI on the remote machine - for that I am using xvfb-run to simulate a desktop environment where Chrome launches with a specific window size.
The remote machine has the following Debian operating system:
uname -a
Linux mem 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux
These were the steps I took to configure my environment and code on the remote machine:
1 - To configure my environment, I installed this version of Google Chrome:
google-chrome --version
Google Chrome 86.0.4240.111
2 - Check the versions of Python 3 and selenium I installed:
python --version
Python 3.7.3
pip freeze
selenium==3.141.0
3 - Check the xvfb-run version:
apt-cache policy xvfb
2:1.20.4-1+deb10u1
4 - With these packages configured, I obtained the chromedriver_linux64.zip from this list (the version 86.0.4240.22 below is the most recent one that is the same major version of the installed google-chrome):
https://chromedriver.storage.googleapis.com/index.html
https://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/
5 - To be able to use the uBlock extension of Chrome, I needed to install an extension that is able to produce a .crx archive file of other installed extensions.
For this, I used CRX Extractor/Downloader:
https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda
6 - After using that extension, I got my ublock.crx file to test.
I managed to use the binary in chromedriver_linux64.zip without the extension to launch a Chrome instance and do some basic crawling.
But when I tried to use ublock.crx in my code, I got an exception.
The code was this:
This is the exception produced:
ublock.crx error
selenium.common.exceptions.SessionNotCreatedException: Message: session not
created: cannot process extension #1
from unknown error: cannot unzip
I am launching it from my program like this:
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_extension(ublock_crx_file_path)
driver = webdriver.Chrome(executable_path=driver_path, options=option)
I have made sure the path of ublock_crx_file_path is valid and points to the file I obtained from Chrome.
Hopefully someone can shed light on this?
I'm using Selenium 3.3.1 with Gecko driver to launch Firefox. I'm getting below error when i run my testng test.if i upgrade to 3.4.0 Firefox driver not working. imports not shown.
"java.lang.NoClassDefFoundError: com/google/common/base/Function" - Exception
Can some one please provide the exact code for launching Firefox latest with selenium 3.4
I need to run chrome 25 on my ubuntu saucy for testing of a web application. I don't want to replace my current version of chrome and was wondering if there is a simple way to isolate a program? I have ubuntu running in a chroot on my Chromebook pixel so nothing that requires kvm.
has anyone been successful in running tests using FirefoxDriver on a linux distro ? If so, which distro are you using ? Are you using xvfb ?
right now, I am thinking of simply using windows 2003 server, but it's a bit more expensive and I am more familiar with linux environment.
Ubuntu + Selenium-Webdriver + Firefox works fine for me.
Capybara + Selenium + Webdriver + Firefox works out-of-the-box. Using Archlinux here.
On CentOS 6 - firefox default distro & firefox updated version works fine.
I use ubuntu and it works fine for me. Check whether you are using the updated version of selenium server jar file, u can download it from here