2016-04-05 5 views
0

Ich versuche, URLs aus TXT-Datei mit Selen-Webdriver zu öffnen. Aber Code gibt mir Fehler. Hier ist Code, der mit Python verwenden 3.4.3.Was kann das Problem in diesem Code sein ?Fehler Open URLs Selenium Von txt-Datei

from selenium import webdriver     
with open("vps.txt","r") as fi:    
    urls = fi.read().splitlines()     

for url in urls:          
    browser = webdriver.Firefox()       
    browser.get(url)   

ich diesen Fehler:

Traceback (most recent call last):        
    File "C:\pselenium\browse.py", line 8, in <module>        
    browser.get(url)        
    File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 245, in get        
    self.execute(Command.GET, {'url': url})        
    File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 233, in execute        
    self.error_handler.check_response(response)        
    File "C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response        
    raise exception_class(message, screen, stacktrace)        
selenium.common.exceptions.WebDriverException: Message: Target URL www.youtube.com/watch?v=DowtrQhvbUM is not well-formed.        
Stacktrace:        
    at FirefoxDriver.prototype.get (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/[email protected]/components/driver-component.js:10636)        
    at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/[email protected]/components/command-processor.js:12661)        
    at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/[email protected]/components/command-processor.js:12666)        
    at DelayedCommand.prototype.execute/< (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/[email protected]/components/command-processor.js:12608)         
+1

Verwenden Sie codecs.open(), wenn Sie sicher sind, dass die Datei eine wohlgeformte URL enthält. – mootmoot

Antwort

2

Target URL www.youtube.com/watch?v=DowtrQhvbUM is not well formed

Es sieht aus wie Sie ein Problem mit Ihrer Dateicodierung haben. Ich bin mir nicht sicher, ob das die Stückliste ist oder nicht, aber Sie sollten Ihre Datei mit einem Hex-Editor überprüfen.

+0

Ja, ich denke, das könnte ein Problem sein, ich habe Notepad verwendet, um TXT-Datei und UTF8-Format zu speichern. Welchen anderen Editor kann ich verwenden, um dieses Problem zu lösen? –

+0

Sie können den [encoding parameter] verwenden (https://docs.python.org/3/howto/unicode.html#reading-and-writing-unicode-data) - 'open ('vps.txt', 'r ', encoding =' utf-8 ') als f: 'und das sollte funktionieren. –

+0

Holen Sie sich auch einen besseren Texteditor, wie Notepad ++, Sublime, Vim, Emacs ... ed;) –