我使用的是量角器,新手我安装了量角器npm i-g量角器网络驱动程序管理器更新网络驱动程序管理器启动
当我运行量角器conf_master.js时我得到以下错误
[chrome #01-1] [20:01:12] I/local - Starting selenium standalone server...
[chrome #01-1] [20:01:16] I/local - Selenium standalone server started at http://10.289.122.156:21199/wd/hub
[chrome #01-1]
[chrome #01-1] /data/home/aflsexchange/node-v10.15.3-linux-x64/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:546
[chrome #01-1] throw new ctor(message);
[chrome #01-1] ^
[chrome #01-1] WebDriverError: unknown error: cannot create temp dir for user data dir
[chrome #01-1] Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
[chrome #01-1] System info: host: '<myurl>', ip: '10.247.189.139', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1062.1.2.el7.x86_64', java.version: '1.8.0_161'
[chrome #01-1] Driver info: driver.version: unknown
[chrome #01-1] remote stacktrace: #0 0x55f67c8507e9 <unknown>
[chrome #01-1]
我使用的是Linux机器。请让我知道的解决方案
此错误消息。。。
WebDriverError: unknown error: cannot create temp dir for user data dir
意味着ChromeDriver在尝试启动/生成新的WebBrowser(即Chrome浏览器会话(时无法创建临时目录。
此错误可能是由于不同的配置问题或您使用的二进制文件版本之间不兼容而导致的。
解决方案
确保:
- 节点使用包管理器更新
- 以非root用户身份执行您的
@Test
(最好具有root/admin特权( - JDK已升级到当前级别JDK 8u222
- Selenium已升级到当前版本3.141.59
- ChromeDriver更新到当前ChromeDriverv78.0级别
- Chrome更新到当前Chrome 78.0版本。(根据ChromeDriver v78.0发布说明(
- 通过IDE清理您的项目工作区,并仅使用所需的依赖项重建项目
- (仅限WindowsOS(使用CCleaner工具,在执行测试套件前后清除所有操作系统杂务
- (仅限LinuxOS(在执行测试套件之前和之后,释放Ubuntu/Linux Mint中未使用的/缓存的内存
- 如果您的基本Web客户端版本太旧,请通过Revo Uninstaller将其卸载,并安装最新的GA和发布的Web客户端版本
- 进行系统重新启动
- 总是调用CCD_ 3方法中的CCD_;优雅地销毁WebDriver和Web客户端实例
通常这个问题与权限有关,请使用下面的自定义用户数据目录,你会发现小示例为我解决了问题
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument('--user-data-dir=~/.config/google-chrome')
driver = webdriver.Chrome(options=chrome_options)
url = 'https://www.google.com'
driver.get(url)
get_url = driver.current_url
print(get_url)