You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含换行符的URL传入Selenium driver.get()为何仍能正常访问?

为什么带换行符的URL用Selenium访问仍正常?

答案很明确:是Chrome浏览器的URL解析引擎自动忽略了URL末尾的换行符,不是Selenium在背后做了处理。

具体拆解:

  • 当你调用driver.get(thislist[0])时,Selenium只是原封不动把带换行的字符串传给Chrome的导航接口,本身没做任何字符清理。
  • Chrome在解析URL时,会遵循URL规范里的规则,自动截断末尾的空白字符(包括换行\n、空格、制表符这些),然后发起正常请求。你自己手动在Chrome地址栏输入带换行的URL试试,比如敲完https://www.microcenter.com/后按个换行再回车,浏览器照样能正常加载页面,和Selenium里的表现完全一致。

潜在坑点和解决办法:

虽然Chrome能兜底处理末尾的换行,但这不代表所有浏览器都有这个特性——比如旧版本的Firefox或者Edge可能就会报错。而且如果换行符出现在URL中间(比如https://www.micro\ncenter.com/),不管哪个浏览器都没法正常解析。

所以最稳妥的做法是读取URL时直接做清理:

with open('urls.txt', 'r') as f:
    # 用strip()移除首尾所有空白字符,比只清换行更全面
    url_list = [line.strip() for line in f.readlines()]

内容的提问来源于stack exchange,提问作者V21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:20:37