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

使用Python3+Selenium ChromeDriver打开新标签页报错:Invalid character in identifier

解决Selenium在Mac上打开新标签页报错"Invalid character in identifier"的问题

嘿,我碰到过类似的坑,来给你捋捋怎么搞定!

首先,你遇到的"Invalid character in identifier"错误,大概率是代码里混入了不可见的特殊字符(比如从网页复制代码时带的隐藏格式字符),或者语法上有细微疏漏。别着急,给你几个靠谱的解决方案:

方案1:改用JavaScript打开新标签页(最稳定)

用快捷键有时候会受页面焦点影响,不如直接调用浏览器的JS接口,这种方法不受焦点限制,稳定性拉满:

# 导入需要的模块(如果还没导的话)
from selenium import webdriver

# 打开新标签页
driver.execute_script("window.open('');")
# 切换到刚打开的新标签页(window_handles是所有标签页的列表,[-1]取最后一个)
driver.switch_to.window(driver.window_handles[-1])
# 访问目标URL
driver.get("你的指定URL")

方案2:修复快捷键方法的问题

如果你还是想用快捷键方式,先检查这两点:

  1. 手动重新输入代码:把driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')这行完全手动敲一遍,避免复制带来的隐藏特殊字符——很多时候这个操作就能直接解决错误。
  2. 确保body元素获得焦点:有时候页面上的输入框、按钮会抢焦点,导致快捷键没效果,先点击body再发送按键:
from selenium.webdriver.common.keys import Keys

# 先获取body元素并点击聚焦
body_element = driver.find_element_by_tag_name('body')
body_element.click()
# 发送快捷键打开新标签页
body_element.send_keys(Keys.COMMAND + 't')
# 切换到新标签页
driver.switch_to.window(driver.window_handles[-1])
# 再次访问同一URL
driver.get("你的指定URL")

额外提示

切换标签页后,一定要记得用driver.switch_to.window()切换上下文,不然后续操作还是会在原来的标签页里执行哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:07:49