Linux下RobotFramework中ChromeDriver芬兰语设置失效求助
解决Linux下RobotFramework启动芬兰语ChromeDriver的问题
在Linux环境中,ChromeDriver会优先读取系统的LANG环境变量,而非--lang参数,这就是你的代码在Windows有效但Linux失效的核心原因。以下是无需修改系统默认语言的解决方案:
方案一:临时覆盖环境变量+保留--lang参数
通过临时设置LANG为芬兰语locale,强制Chrome使用芬兰语启动,同时保留--lang参数作为双重保障:
Open Chromedriver ${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver Call Method ${options} add_argument --lang=fi # 临时设置芬兰语环境变量 Evaluate os.environ['LANG'] = 'fi_FI.UTF-8' os Create WebDriver Chrome chrome_options=${options}
方案二:添加临时用户目录避免本地配置干扰
如果Chrome加载了本地已保存的语言偏好,可能仍会忽略参数,此时可以指定临时用户目录,完全隔离系统配置:
Open Chromedriver ${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver Call Method ${options} add_argument --lang=fi Call Method ${options} add_argument --user-data-dir=/tmp/chrome-fi-temp Call Method ${options} add_argument --no-sandbox # Linux环境下常用参数,避免权限问题 # 临时设置芬兰语环境变量 Evaluate os.environ['LANG'] = 'fi_FI.UTF-8' os Create WebDriver Chrome chrome_options=${options}
注意事项
- 确保系统存在
fi_FI.UTF-8locale,如果没有,可执行以下命令生成(无需修改系统默认语言):locale-gen fi_FI.UTF-8 --no-sandbox参数在Linux无GUI环境(如服务器)中通常是必需的,避免Chrome启动失败。
内容的提问来源于stack exchange,提问作者Tero Hippi
相关产品推荐
相关产品推荐

