Typeerror: urlopen () bekam mehrere Werte für die Keyword-Argument ‚Körper‘ bei dem Versuch, Selen auf Xubuntu 14.04.5

stimmen
2

Umgebung

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty

GCC

gcc --version
gcc (Ubuntu 4.8.5-4ubuntu8~14.04.2) 4.8.5

Python

python --version
Python 2.7.6

Pip

pip --version
pip 18.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

urllib3

pip list | grep url
urllib3                      1.7.1     

Chromedriver

chromedriver --version
ChromeDriver 2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4)

Chrom

chromium-browser --version
Chromium 65.0.3325.181 Built on Ubuntu , running on Ubuntu 14.04

Selen

pip install selenium
Requirement already satisfied: selenium in /usr/local/lib/python2.7/dist-packages (3.141.0)
Requirement already satisfied: urllib3 in /usr/lib/python2.7/dist-packages (from selenium) (1.7.1)

Chrome-Treiber für Linux 64bit installieren

Ich habe versucht , mehrere Version, aber alle führen zum gleichen neuen Problem

rm ~/Downloads/chromedriver_linux64.zip \
wget -N http://chromedriver.storage.googleapis.com/2.26/chromedriver_linux64.zip -P ~/Downloads; \
unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads; \
chmod +x ~/Downloads/chromedriver; \
rm /usr/local/share/chromedriver; \
sudo mv -f ~/Downloads/chromedriver /usr/local/share/chromedriver; \
rm /usr/local/bin/chromedriver; \
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver; \
rm /usr/bin/chromedriver; \
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver; \
ls -al /usr/bin/chromedriver; \
ls -al /usr/local/bin/chromedriver; \
ls -al /usr/local/share/chromedriver

... versucht

# wget -N http://chromedriver.storage.googleapis.com/2.21/chromedriver_linux64.zip -P ~/Downloads
# wget -N http://chromedriver.storage.googleapis.com/2.27/chromedriver_linux64.zip -P ~/Downloads
# wget -N http://chromedriver.storage.googleapis.com/2.33/chromedriver_linux64.zip -P ~/Downloads
# wget -N http://chromedriver.storage.googleapis.com/2.43/chromedriver_linux64.zip -P ~/Downloads
# wget -N http://chromedriver.storage.googleapis.com/71.0.3578.33/chromedriver_linux64.zip -P ~/Downloads

Testskript test.py

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities    
# enable browser logging
d = DesiredCapabilities.CHROME
d['loggingPrefs'] = { 'browser':'ALL' }
driver = webdriver.Chrome(desired_capabilities=d)
# load some site
driver.get('http://foo.com')
# print messages
for entry in driver.get_log('browser'):
    print entry

Error

python test.py 
Traceback (most recent call last):
  File test.py, line 6, in <module>
    driver = webdriver.Chrome(desired_capabilities=d)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py, line 81, in __init__
    desired_capabilities=desired_capabilities)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py, line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py, line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py, line 319, in execute
    response = self.command_executor.execute(driver_command, params)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py, line 374, in execute
    return self._request(command_info[0], url, body=data)
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py, line 397, in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
  File /usr/lib/python2.7/dist-packages/urllib3/request.py, line 79, in request
    **urlopen_kw)
  File /usr/lib/python2.7/dist-packages/urllib3/request.py, line 142, in request_encode_body
    **urlopen_kw)
TypeError: urlopen() got multiple values for keyword argument 'body'

Gefolgt anderen Threads

Typeerror: urlopen bekam mehrere Werte für die Keyword-Argument ‚Körper‘, während Tests durch Selen und Python auf Kubuntu Ausführung 14,04

urllib3 Version

# aptitude show python-urllib3
Package: python-urllib3                  
State: installed
Automatically installed: yes
Version: 1.7.1-1ubuntu4.1
Priority: optional
Section: python
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Uncompressed Size: 201 k
Depends: python:any (< 2.8), python:any (>= 2.7.5-5~), python-six
Recommends: ca-certificates
Description: HTTP library with thread-safe connection pooling for Python
 urllib3 supports features left out of urllib and urllib2 libraries. 

 * Re-use the same socket connection for multiple requests (HTTPConnectionPool and HTTPSConnectionPool) (with optional client-side certificate verification). 
 * File posting (encode_multipart_formdata). 
 * Built-in redirection and retries (optional). 
 * Supports gzip and deflate decoding. 
 * Thread-safe and sanity-safe. 
 * Small and easy to understand codebase perfect for extending and building upon.
Homepage: http://urllib3.readthedocs.org

Ich habe eine andere Einrichtung mit dem gleichen Chrom-Browser chromedriver Versionen und der Fehler nicht passiert. Was sonst könnte ich überprüfen?

Weitergehende Hinweise?

AKTUALISIEREN

Auf dem Umfeld , in dem das Problem nicht das geschieht pip - Version ist nicht das gleiche.

pip v1.5.4Statt pip install --upgrade pip==1.5.4 nun zu deinstallieren pip 18.1und meine pip Pakete neu zu installieren.

So installieren Sie wieder die neueste Version von , pipwenn Sie wollen wieder zurückkehren

python -m pip install --upgrade pip

Auch darauf hingewiesen, dass auf dem Funktionieren Maschine Ich habe eine etwas andere Version von GCC

gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

Aufgelöst

Ich hatte von einem frischen Xubuntu Setup zu starten und lief

sudo pip install -U urllib3
Veröffentlicht am 07/11/2018 um 23:48
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Potentielle Lösungen:

1- Versuchen Sie, die Version o urllib3 aktualisieren, scheint , wie die Version von urllib3 alt ist nach: https://github.com/kubernetes-client/python/blob/master/requirements.txt

Stellen Sie sicher , dass die Version von urllib3 ist 1,16 oder mehr. Hier können Sie das Setup finden: https://launchpad.net/ubuntu/+source/python-urllib3/1.21.1-1

Ref (ein weiterer Beitrag in SO): Typeerror: urlopen () bekam mehrere Werte für die Keyword - Argument ‚Körper‘ , während Tests durch Selen und Python auf Kubuntu Ausführung 14,04

2- Aktualisieren Sie die Version von Python:

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update 
sudo apt-get install python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3

Ref: http://ubuntuhandbook.org/index.php/2017/07/install-python-3-6-1-in-ubuntu-16-04-lts/

Beantwortet am 10/11/2018 um 23:51
quelle vom benutzer

stimmen
1

Nahm ein gewisses Risiko und entfernt urllib 1.7.1 (default ein, dass innerhalb von Ubuntu 14.04). Es kann von Ihren Anforderungen abhängen, ob Sie Risiko eingehen wollen und es deinstallieren.

sudo apt-get remove python-urllib3

gefolgt von

sudo pip install -U urllib3

Dieses Fest des Problems für mich.

Beantwortet am 08/11/2018 um 00:40
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more