METADATA 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. Metadata-Version: 2.0
  2. Name: selenium
  3. Version: 3.4.3
  4. Summary: Python bindings for Selenium
  5. Home-page: https://github.com/SeleniumHQ/selenium/
  6. Author: UNKNOWN
  7. Author-email: UNKNOWN
  8. License: Apache 2.0
  9. Platform: UNKNOWN
  10. Classifier: Development Status :: 5 - Production/Stable
  11. Classifier: Intended Audience :: Developers
  12. Classifier: License :: OSI Approved :: Apache Software License
  13. Classifier: Operating System :: POSIX
  14. Classifier: Operating System :: Microsoft :: Windows
  15. Classifier: Operating System :: MacOS :: MacOS X
  16. Classifier: Topic :: Software Development :: Testing
  17. Classifier: Topic :: Software Development :: Libraries
  18. Classifier: Programming Language :: Python
  19. Classifier: Programming Language :: Python :: 2.6
  20. Classifier: Programming Language :: Python :: 2.7
  21. Classifier: Programming Language :: Python :: 3.3
  22. Classifier: Programming Language :: Python :: 3.4
  23. Classifier: Programming Language :: Python :: 3.5
  24. Classifier: Programming Language :: Python :: 3.6
  25. ======================
  26. Selenium Client Driver
  27. ======================
  28. Introduction
  29. ============
  30. Python language bindings for Selenium WebDriver.
  31. The `selenium` package is used to automate web browser interaction from Python.
  32. +-----------+--------------------------------------------------------------------------------------+
  33. | **Home**: | http://www.seleniumhq.org |
  34. +-----------+--------------------------------------------------------------------------------------+
  35. | **Docs**: | `selenium package API <https://seleniumhq.github.io/selenium/docs/api/py/api.html>`_ |
  36. +-----------+--------------------------------------------------------------------------------------+
  37. | **Dev**: | https://github.com/SeleniumHQ/Selenium |
  38. +-----------+--------------------------------------------------------------------------------------+
  39. | **PyPI**: | https://pypi.python.org/pypi/selenium |
  40. +-----------+--------------------------------------------------------------------------------------+
  41. | **IRC**: | **#selenium** channel on freenode |
  42. +-----------+--------------------------------------------------------------------------------------+
  43. Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer, PhantomJS), as well as the Remote protocol.
  44. Supported Python Versions
  45. =========================
  46. * Python 2.6, 2.7
  47. * Python 3.3+
  48. Installing
  49. ==========
  50. If you have `pip <https://pip.pypa.io/>`_ on your system, you can simply install or upgrade the Python bindings::
  51. pip install -U selenium
  52. Alternately, you can download the source distribution from `PyPI <http://pypi.python.org/pypi/selenium>`_ (e.g. selenium-3.4.3.tar.gz), unarchive it, and run::
  53. python setup.py install
  54. Note: both of the methods described above install `selenium` as a system-wide package That will require administrative/root access to their machine. You may consider using a `virtualenv <http://www.virtualenv.org/>`_ to create isolated Python environments instead.
  55. Drivers
  56. =======
  57. Selenium requires a driver to interface with the chosen browser. Firefox,
  58. for example, requires `geckodriver <https://github.com/mozilla/geckodriver/releases>`_, which needs to be installed before the below examples can be run. Make sure it's in your `PATH`, e. g., place it in `/usr/bin` or `/usr/local/bin`.
  59. Failure to observe this step will give you an error `selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.`
  60. Other supported browsers will have their own drivers available. Links to some of the more popular browser drivers follow.
  61. +--------------+-----------------------------------------------------------------------+
  62. | **Chrome**: | https://sites.google.com/a/chromium.org/chromedriver/downloads |
  63. +--------------+-----------------------------------------------------------------------+
  64. | **Edge**: | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
  65. +--------------+-----------------------------------------------------------------------+
  66. | **Firefox**: | https://github.com/mozilla/geckodriver/releases |
  67. +--------------+-----------------------------------------------------------------------+
  68. | **Safari**: | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ |
  69. +--------------+-----------------------------------------------------------------------+
  70. Example 0:
  71. ==========
  72. * open a new Firefox browser
  73. * load the page at the given URL
  74. ::
  75. from selenium import webdriver
  76. browser = webdriver.Firefox()
  77. browser.get('http://seleniumhq.org/')
  78. Example 1:
  79. ==========
  80. * open a new Firefox browser
  81. * load the Yahoo homepage
  82. * search for "seleniumhq"
  83. * close the browser
  84. ::
  85. from selenium import webdriver
  86. from selenium.webdriver.common.keys import Keys
  87. browser = webdriver.Firefox()
  88. browser.get('http://www.yahoo.com')
  89. assert 'Yahoo!' in browser.title
  90. elem = browser.find_element_by_name('p') # Find the search box
  91. elem.send_keys('seleniumhq' + Keys.RETURN)
  92. browser.quit()
  93. Example 2:
  94. ==========
  95. Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example uisng Python's standard `unittest <http://docs.python.org/3/library/unittest.html>`_ library:
  96. ::
  97. import unittest
  98. class GoogleTestCase(unittest.TestCase):
  99. def setUp(self):
  100. self.browser = webdriver.Firefox()
  101. self.addCleanup(self.browser.quit)
  102. def testPageTitle(self):
  103. self.browser.get('http://www.google.com')
  104. self.assertIn('Google', self.browser.title)
  105. if __name__ == '__main__':
  106. unittest.main(verbosity=2)
  107. Selenium Server (optional)
  108. ==========================
  109. For normal WebDriver scripts (non-Remote), the Java server is not needed.
  110. However, to use Selenium Webdriver Remote or the legacy Selenium API (Selenium-RC), you need to also run the Selenium server. The server requires a Java Runtime Environment (JRE).
  111. Download the server separately, from: http://selenium-release.storage.googleapis.com/3.4/selenium-server-standalone-3.4.0.jar
  112. Run the server from the command line::
  113. java -jar selenium-server-standalone-3.4.0.jar
  114. Then run your Python client scripts.
  115. Use The Source Luke!
  116. ====================
  117. View source code online:
  118. +-----------+-------------------------------------------------------+
  119. | official: | https://github.com/SeleniumHQ/selenium/tree/master/py |
  120. +-----------+-------------------------------------------------------+