Fedora23 install and use web automation testing tools selenium and fedora23selenium
 
1. pip install selenium requires root permission
 
2. Run openchrome. py:
 
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport timebrowser = webdriver.Chrome() # Get local session of Chromebrowser.get("http://www.bing.com") # Load pageassert "Bing" in browser.titleelem = browser.find_element_by_name("q") # Find the query boxelem.send_keys("seleniumhq" + Keys.RETURN)time.sleep(0.2) # Let the page load, will be added to the APItry:    browser.find_element_by_xpath("//a[contains(@href,'http://docs.seleniumhq.org/')]")except NoSuchElementException:    assert 0, "can't find seleniumhq"browser.close()               
Error:
 
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'
 
Selenium. common. exceptions. WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
 
Use the prompt link to download chromedriver. Download and unzip it.
 
Add the PATH of chromedriver to the path variable: vim ~ /. Bash_profile
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/codc/.browserdriver/chromedriverexport PATH
 
Append/home/codc/. browserdriver/chromedriver to the end of PATH.
 
Source ~ /. Bash_profile make the path take effect
 
Run python openchrome. py again, and an error is returned:
 
Selenium. common. exceptions. WebDriverException: Message: unknown error: Chrome version must be> = 55.0.2883.0
(Driver info: chromedriver = 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f), platform = Linux 4.2.3-300. fc23.x86 _ 64 x86_64)
 
The reason is that the downloaded chromedirver is the latest version, and the chrome version is older, and chrome is updated: dnf update google-chrome
 
$sudo dnf update google-chromeRPM Fusion for Fedora 23 - Free - Updates                       112 kB/s | 371 kB     00:03    Last metadata expiration check performed 0:00:00 ago on Sun Mar 26 17:01:21 2017.Dependencies resolved.================================================================================================ Package                   Arch        Version                Repository                   Size================================================================================================Upgrading: google-chrome-stable      x86_64      57.0.2987.110-1        google-chrome-unstable       45 MTransaction Summary================================================================================================Upgrade  1 PackageTotal download size: 45 MIs this ok [y/N]: y
 
Google-chrome needs to configure the source repository used by dnf chrome, Which is downloaded from rpmfusion free by default.
 
Note: The message geckodriver is displayed in firefox.
 
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'During handling of the above exception, another exception occurred:Traceback (most recent call last):  File "openfirefox.py", line 6, in <module>    browser = webdriver.Firefox() # Get local session of firefox  File "/usr/lib/python3.4/site-packages/selenium/webdriver/firefox/webdriver.py", line 145, in __init__    self.service.start()  File "/usr/lib/python3.4/site-packages/selenium/webdriver/common/service.py", line 81, in start    os.path.basename(self.path), self.start_error_message)selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 
 
  
 
[1] http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html
 
[2] https://github.com/mozilla/geckodriver/releases
 
[3] http://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path
 
[4] https://chromedriver.storage.googleapis.com/index.html