Robot Framework调用chromedriversync.py报错:文件不存在,求协助
解决Robot Framework找不到chromedriversync库及WebDriver配置问题
一、直接解决"Library 'chromedriversync.py'不存在"的报错
移除库导入的.py后缀
Robot Framework导入Python模块时无需加.py后缀,将search.robot里的导入语句修改为:Library chromedriversync确保文件路径匹配
- 将
chromedriversync.py与search.robot放在同一目录(即C:\Users\avdhu\OneDrive\Documents\Robot\Tests\Google\); - 若文件不在同一目录,需将
chromedriversync.py所在目录添加到Python的sys.path,或在Robot中使用绝对路径导入(例如Library C:\实际路径\chromedriversync)。
- 将
二、修正WebDriverManager的导入与适配问题
你的chromedriversync.py存在依赖导入错误,且写法适配旧版Selenium,建议按以下方式修改:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # 注意是webdriver-manager(含下划线),不是webdrivermanager from selenium.webdriver.chrome.service import Service def get_chromedriver_path(): # 安装并返回ChromeDriver路径 driver_path = ChromeDriverManager().install() print(driver_path) return driver_path # 推荐:直接返回Service对象,适配Selenium 4+写法 def get_chrome_service(): return Service(ChromeDriverManager().install())
三、更新Robot测试用例写法
适配Selenium 4+的写法更简洁,修改后的search.robot:
*** Settings *** Library SeleniumLibrary Library chromedriversync *** Test Cases *** This is sample test [ documentation ] Google test [Tags] # 方式1:使用Service对象(推荐) ${chrome_service}= chromedriversync.Get Chrome Service Open Browser https://pypi.org/project/webdriver-manager/ chrome service=${chrome_service} # 方式2:使用路径(兼容旧版) # ${chromedriver_path}= chromedriversync.Get Chromedriver Path # Open Browser https://pypi.org/project/webdriver-manager/ chrome executable_path=${chromedriver_path} Close Browser
四、检查依赖安装是否正确
确保安装了正确的依赖包:
# 安装最新版Selenium pip install selenium # 安装正确的webdriver-manager pip install webdriver-manager
内容的提问来源于stack exchange,提问作者Avdhut Joshi
相关产品推荐
相关产品推荐

