Hello community,
here is the log from the commit of package python-selenium for openSUSE:Factory checked in at 2018-07-02 23:33:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-selenium (Old)
and /work/SRC/openSUSE:Factory/.python-selenium.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-selenium"
Mon Jul 2 23:33:13 2018 rev:8 rq:620084 version:3.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-selenium/python-selenium.changes 2018-05-11 09:18:39.245691403 +0200
+++ /work/SRC/openSUSE:Factory/.python-selenium.new/python-selenium.changes 2018-07-02 23:33:33.405241381 +0200
@@ -1,0 +2,16 @@
+Sun Jul 1 19:18:04 UTC 2018 - arun@gmx.de
+
+- specfile:
+ * be more specific for %{python_sitelib}/* in %files
+
+-------------------------------------------------------------------
+Sun Jul 1 17:46:04 UTC 2018 - arun@gmx.de
+
+- update to version 3.13.0:
+ * Add executing Chrome devtools command (#5989)
+ * fix incorrect w3c action encoding in python client (#6014)
+ * Implement context manager for WebDriver
+ * Stop sending "windowHandle" param in maximize_window command for
+ w3c
+
+-------------------------------------------------------------------
Old:
----
selenium-3.12.0.tar.gz
New:
----
selenium-3.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-selenium.spec ++++++
--- /var/tmp/diff_new_pack.MCh7YX/_old 2018-07-02 23:33:35.133239242 +0200
+++ /var/tmp/diff_new_pack.MCh7YX/_new 2018-07-02 23:33:35.137239237 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-selenium
-Version: 3.12.0
+Version: 3.13.0
Release: 0
Summary: Python bindings for Selenium
License: Apache-2.0
@@ -57,6 +57,6 @@
%files %{python_files}
%doc README.rst CHANGES
-%{python_sitelib}/*
+%{python_sitelib}/selenium*
%changelog
++++++ selenium-3.12.0.tar.gz -> selenium-3.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/CHANGES new/selenium-3.13.0/CHANGES
--- old/selenium-3.12.0/CHANGES 2018-03-12 12:48:16.000000000 +0100
+++ new/selenium-3.13.0/CHANGES 2018-06-25 16:37:37.000000000 +0200
@@ -1,3 +1,24 @@
+Selenium 3.13.0
+
+* Add executing Chrome devtools command (#5989)
+* fix incorrect w3c action encoding in python client (#6014)
+* Implement context manager for WebDriver
+* Stop sending "windowHandle" param in maximize_window command for w3c
+
+Selenium 3.12.0
+
+* Add desired_capabilities keyword to IE and Firefox drivers for driver consitency
+* Fix bug with creating Safari webdriver instance (#5578)
+* Add support for Safari extension command
+* Deprecate Options `set_headless` methods in favor of property setter
+* Only set --disable-gpu for Chrome headless when on Windows
+* Add selenium User-Agent header (#5696)
+* Remote webdriver can now be started when passing options
+* All Options.to_capabilities now start with default DesiredCapabilities
+* Improve the error message that is raised when safaridriver cannot be found (#5739)
+* IeOptions class is now imported to selenium.webdriver
+* Remove the beta `authenticate` methods from `Alert`
+
Selenium 3.11.0
No changes just keeping python version in step with the rest of the project.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/PKG-INFO new/selenium-3.13.0/PKG-INFO
--- old/selenium-3.12.0/PKG-INFO 2018-05-08 16:37:44.000000000 +0200
+++ new/selenium-3.13.0/PKG-INFO 2018-06-25 21:49:40.000000000 +0200
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: selenium
-Version: 3.12.0
+Version: 3.13.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
+Description-Content-Type: UNKNOWN
Description: ======================
Selenium Client Driver
======================
@@ -24,7 +25,7 @@
+-----------+--------------------------------------------------------------------------------------+
| **Dev**: | https://github.com/SeleniumHQ/Selenium |
+-----------+--------------------------------------------------------------------------------------+
- | **PyPI**: | https://pypi.python.org/pypi/selenium |
+ | **PyPI**: | https://pypi.org/project/selenium/ |
+-----------+--------------------------------------------------------------------------------------+
| **IRC**: | **#selenium** channel on freenode |
+-----------+--------------------------------------------------------------------------------------+
@@ -43,7 +44,7 @@
pip install -U selenium
- Alternately, you can download the source distribution from `PyPI http://pypi.python.org/pypi/selenium`_ (e.g. selenium-3.12.0.tar.gz), unarchive it, and run::
+ Alternately, you can download the source distribution from `PyPI https://pypi.org/project/selenium/#files`_ (e.g. selenium-3.13.0.tar.gz), unarchive it, and run::
python setup.py install
@@ -135,11 +136,11 @@
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).
- Download the server separately, from: http://selenium-release.storage.googleapis.com/3.12/selenium-server-standalo...
+ Download the server separately, from: http://selenium-release.storage.googleapis.com/3.13/selenium-server-standalo...
Run the server from the command line::
- java -jar selenium-server-standalone-3.12.0.jar
+ java -jar selenium-server-standalone-3.13.0.jar
Then run your Python client scripts.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/README.rst new/selenium-3.13.0/README.rst
--- old/selenium-3.12.0/README.rst 2018-05-08 15:56:18.000000000 +0200
+++ new/selenium-3.13.0/README.rst 2018-06-25 16:33:22.000000000 +0200
@@ -16,7 +16,7 @@
+-----------+--------------------------------------------------------------------------------------+
| **Dev**: | https://github.com/SeleniumHQ/Selenium |
+-----------+--------------------------------------------------------------------------------------+
-| **PyPI**: | https://pypi.python.org/pypi/selenium |
+| **PyPI**: | https://pypi.org/project/selenium/ |
+-----------+--------------------------------------------------------------------------------------+
| **IRC**: | **#selenium** channel on freenode |
+-----------+--------------------------------------------------------------------------------------+
@@ -35,7 +35,7 @@
pip install -U selenium
-Alternately, you can download the source distribution from `PyPI http://pypi.python.org/pypi/selenium`_ (e.g. selenium-3.12.0.tar.gz), unarchive it, and run::
+Alternately, you can download the source distribution from `PyPI https://pypi.org/project/selenium/#files`_ (e.g. selenium-3.13.0.tar.gz), unarchive it, and run::
python setup.py install
@@ -127,11 +127,11 @@
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).
-Download the server separately, from: http://selenium-release.storage.googleapis.com/3.12/selenium-server-standalo...
+Download the server separately, from: http://selenium-release.storage.googleapis.com/3.13/selenium-server-standalo...
Run the server from the command line::
- java -jar selenium-server-standalone-3.12.0.jar
+ java -jar selenium-server-standalone-3.13.0.jar
Then run your Python client scripts.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/__init__.py new/selenium-3.13.0/selenium/__init__.py
--- old/selenium-3.12.0/selenium/__init__.py 2018-05-08 15:56:18.000000000 +0200
+++ new/selenium-3.13.0/selenium/__init__.py 2018-06-25 16:33:22.000000000 +0200
@@ -16,4 +16,4 @@
# under the License.
-__version__ = "3.12.0"
+__version__ = "3.13.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/__init__.py new/selenium-3.13.0/selenium/webdriver/__init__.py
--- old/selenium-3.12.0/selenium/webdriver/__init__.py 2018-05-08 15:56:18.000000000 +0200
+++ new/selenium-3.13.0/selenium/webdriver/__init__.py 2018-06-25 16:38:06.000000000 +0200
@@ -36,4 +36,4 @@
from .common.touch_actions import TouchActions # noqa
from .common.proxy import Proxy # noqa
-__version__ = '3.9.0'
+__version__ = '3.13.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/chrome/remote_connection.py new/selenium-3.13.0/selenium/webdriver/chrome/remote_connection.py
--- old/selenium-3.12.0/selenium/webdriver/chrome/remote_connection.py 2017-08-10 14:43:53.000000000 +0200
+++ new/selenium-3.13.0/selenium/webdriver/chrome/remote_connection.py 2018-06-25 16:33:22.000000000 +0200
@@ -25,3 +25,4 @@
self._commands["launchApp"] = ('POST', '/session/$sessionId/chromium/launch_app')
self._commands["setNetworkConditions"] = ('POST', '/session/$sessionId/chromium/network_conditions')
self._commands["getNetworkConditions"] = ('GET', '/session/$sessionId/chromium/network_conditions')
+ self._commands['executeCdpCommand'] = ('POST', '/session/$sessionId/goog/cdp/execute')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/chrome/webdriver.py new/selenium-3.13.0/selenium/webdriver/chrome/webdriver.py
--- old/selenium-3.12.0/selenium/webdriver/chrome/webdriver.py 2017-11-21 21:41:08.000000000 +0100
+++ new/selenium-3.13.0/selenium/webdriver/chrome/webdriver.py 2018-06-25 16:33:22.000000000 +0200
@@ -115,6 +115,29 @@
'network_conditions': network_conditions
})
+ def execute_cdp_cmd(self, cmd, cmd_args):
+ """
+ Execute Chrome Devtools Protocol command and get returned result
+
+ The command and command args should follow chrome devtools protocol domains/commands, refer to link
+ https://chromedevtools.github.io/devtools-protocol/
+
+ :Args:
+ - cmd: A str, command name
+ - cmd_args: A dict, command args. empty dict {} if there is no command args
+
+ :Usage:
+ driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId})
+
+ :Returns:
+ A dict, empty dict {} if there is no result to return.
+ For example to getResponseBody:
+
+ {'base64Encoded': False, 'body': 'response body string'}
+
+ """
+ return self.execute("executeCdpCommand", {'cmd': cmd, 'params': cmd_args})['value']
+
def quit(self):
"""
Closes the browser and shuts down the ChromeDriver executable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/common/actions/action_builder.py new/selenium-3.13.0/selenium/webdriver/common/actions/action_builder.py
--- old/selenium-3.12.0/selenium/webdriver/common/actions/action_builder.py 2017-03-07 18:32:02.000000000 +0100
+++ new/selenium-3.13.0/selenium/webdriver/common/actions/action_builder.py 2018-06-25 16:33:22.000000000 +0200
@@ -26,7 +26,7 @@
class ActionBuilder(object):
def __init__(self, driver, mouse=None, keyboard=None):
if mouse is None:
- mouse = PointerInput(interaction.POINTER, "mouse")
+ mouse = PointerInput(interaction.POINTER_MOUSE, "mouse")
if keyboard is None:
keyboard = KeyInput(interaction.KEY)
self.devices = [mouse, keyboard]
@@ -62,8 +62,8 @@
self._add_input(new_input)
return new_input
- def add_pointer_input(self, type_, name):
- new_input = PointerInput(type_, name)
+ def add_pointer_input(self, kind, name):
+ new_input = PointerInput(kind, name)
self._add_input(new_input)
return new_input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/common/actions/interaction.py new/selenium-3.13.0/selenium/webdriver/common/actions/interaction.py
--- old/selenium-3.12.0/selenium/webdriver/common/actions/interaction.py 2017-03-01 17:16:52.000000000 +0100
+++ new/selenium-3.13.0/selenium/webdriver/common/actions/interaction.py 2018-06-25 16:33:22.000000000 +0200
@@ -21,6 +21,12 @@
NONE = "none"
SOURCE_TYPES = set([KEY, POINTER, NONE])
+POINTER_MOUSE = "mouse"
+POINTER_TOUCH = "touch"
+POINTER_PEN = "pen"
+
+POINTER_KINDS = set([POINTER_MOUSE, POINTER_TOUCH, POINTER_PEN])
+
class Interaction(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/common/actions/pointer_actions.py new/selenium-3.13.0/selenium/webdriver/common/actions/pointer_actions.py
--- old/selenium-3.12.0/selenium/webdriver/common/actions/pointer_actions.py 2017-03-07 18:32:02.000000000 +0100
+++ new/selenium-3.13.0/selenium/webdriver/common/actions/pointer_actions.py 2018-06-25 16:33:22.000000000 +0200
@@ -27,7 +27,7 @@
def __init__(self, source=None):
if source is None:
- source = PointerInput(interaction.POINTER, "mouse")
+ source = PointerInput(interaction.POINTER_MOUSE, "mouse")
self.source = source
super(PointerActions, self).__init__(source)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/common/actions/pointer_input.py new/selenium-3.13.0/selenium/webdriver/common/actions/pointer_input.py
--- old/selenium-3.12.0/selenium/webdriver/common/actions/pointer_input.py 2017-03-09 15:10:29.000000000 +0100
+++ new/selenium-3.13.0/selenium/webdriver/common/actions/pointer_input.py 2018-06-25 16:33:22.000000000 +0200
@@ -15,7 +15,9 @@
# specific language governing permissions and limitations
# under the License.
from .input_device import InputDevice
+from .interaction import POINTER, POINTER_KINDS
+from selenium.common.exceptions import InvalidArgumentException
from selenium.webdriver.remote.webelement import WebElement
@@ -23,9 +25,12 @@
DEFAULT_MOVE_DURATION = 250
- def __init__(self, type_, name):
+ def __init__(self, kind, name):
super(PointerInput, self).__init__()
- self.type = type_
+ if (kind not in POINTER_KINDS):
+ raise InvalidArgumentException("Invalid PointerInput kind '%s'" % kind)
+ self.type = POINTER
+ self.kind = kind
self.name = name
def create_pointer_move(self, duration=DEFAULT_MOVE_DURATION, x=None, y=None, origin=None):
@@ -53,6 +58,6 @@
def encode(self):
return {"type": self.type,
- "parameters": {"pointerType": self.name},
+ "parameters": {"pointerType": self.kind},
"id": self.name,
"actions": [acts for acts in self.actions]}
Binary files old/selenium-3.12.0/selenium/webdriver/firefox/webdriver.xpi and new/selenium-3.13.0/selenium/webdriver/firefox/webdriver.xpi differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/selenium-3.12.0/selenium/webdriver/remote/isDisplayed.js new/selenium-3.13.0/selenium/webdriver/remote/isDisplayed.js
--- old/selenium-3.12.0/selenium/webdriver/remote/isDisplayed.js 2018-05-08 16:06:44.000000000 +0200
+++ new/selenium-3.13.0/selenium/webdriver/remote/isDisplayed.js 2018-06-25 21:45:05.000000000 +0200
@@ -98,4 +98,4 @@
function Hc(a){var b=Jc(a);if(b)return b.rect;if(K(a,"HTML"))return a=F(a),a=((a?a.parentWindow||a.defaultView:window)||window).document,a="CSS1Compat"==a.compatMode?a.documentElement:a.body,a=new ja(a.clientWidth,a.clientHeight),new E(0,0,a.width,a.height);try{var c=a.getBoundingClientRect()}catch(d){return new E(0,0,0,0)}b=new E(c.left,c.top,c.right-c.left,c.bottom-c.top);B&&a.ownerDocument.body&&(a=F(a),b.a-=a.documentElement.clientLeft+a.body.clientLeft,b.b-=a.documentElement.clientTop+a.body.clientTop);
return b}function Jc(a){var b=K(a,"MAP");if(!b&&!K(a,"AREA"))return null;var c=b?a:K(a.parentNode,"MAP")?a.parentNode:null,d=null,e=null;c&&c.name&&(d=Cc('/descendant::*[@usemap = "#'+c.name+'"]',F(c)))&&(e=Hc(d),b||"default"==a.shape.toLowerCase()||(a=Mc(a),b=Math.min(Math.max(a.a,0),e.width),c=Math.min(Math.max(a.b,0),e.height),e=new E(b+e.a,c+e.b,Math.min(a.width,e.width-b),Math.min(a.height,e.height-c))));return{B:d,rect:e||new E(0,0,0,0)}}
function Mc(a){var b=a.shape.toLowerCase();a=a.coords.split(",");if("rect"==b&&4==a.length){var b=a[0],c=a[1];return new E(b,c,a[2]-b,a[3]-c)}if("circle"==b&&3==a.length)return b=a[2],new E(a[0]-b,a[1]-b,2*b,2*b);if("poly"==b&&2