【问题标题】:Error Open Urls Selenium From txt File从 txt 文件打开 Urls Selenium 时出错
【发布时间】:2016-04-05 16:38:22
【问题描述】:

我正在尝试使用 selenium webdriver 从 TXT 文件打开 URL。但是代码给了我错误。这是我与 python 3.4.3 一起使用的代码。这段代码有什么问题?

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)           

我收到此错误:

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/fxdriver@googlecode.com/components/driver-component.js:10636)                               
    at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)                               
    at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)                               
    at DelayedCommand.prototype.execute/< (file:///C:/Users/naV/AppData/Local/Temp/tmpja7hed7p/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)                                  

【问题讨论】:

  • 如果您确定文件包含格式正确的 url,请尝试使用 codecs.open()。

标签: python selenium-webdriver


【解决方案1】:

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

您的文件编码似乎有问题。我不确定这是否是 BOM,但您应该使用十六进制编辑器检查您的文件。

【讨论】:

  • 是的,我认为这可能是问题,我使用记事本保存 txt 文件和 UTF8 格式。我可以使用其他编辑器来解决这个问题吗?
  • 您可以使用encoding parameter - open('vps.txt', 'r', encoding='utf-8') as f:,应该可以。
  • 另外,获得更好的文本编辑器,例如 Notepad++、Sublime、Vim、Emacs... ed ;)
  • 使用您的代码后出现错误 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 使用 Notepad++ 后出现相同错误。延迟命令错误
  • 延迟命令错误不是您发布的错误。显然不是实际上 utf-8,咕咕咕咕。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2019-12-24
  • 1970-01-01
相关资源
最近更新 更多