【发布时间】:2020-04-09 21:10:31
【问题描述】:
我正在使用以下代码。
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#login
driver = webdriver.Chrome()
driver.get("url")
#time.sleep(10)
driver.set_window_size(920, 680)
driver.find_element(By.ID, "loginUserName").send_keys("xx")
driver.find_element(By.ID, "loginPassword").send_keys("yy")
driver.find_element(By.ID, "loginButton").click()
它对我来说工作正常,我没有为 chrome-extension 包含任何路径和设置属性。如果我共享这个程序,对方会收到以下错误并且他们有 chromedriver .exe 在 python 文件夹中,在同一个文件夹中他们创建了这个 python 文件
Traceback(最近一次调用最后一次):文件 "C:\Users\1025043\AppData\Local\Programs\Python\Python37-32\anu\1.py", 第 8 行,在 driver = webdriver.Chrome(chrome_driver_path) NameError: name 'chrome_driver_path' is not defined
在我的道路上,
['', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\python37.zip', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\DLLs', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\lib', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\lib\site-packages', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\lib\site-packages\win32', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\lib\site-packages\win32\lib', 'C:\Users\1024983\AppData\Local\Programs\Python\Python37\lib\site-packages\Pythonwin']
这是什么原因?
注意:我使用的是 Windows 10,Python 3.7.4,selenium 3.141.0,Chrome 版本 78.0.3904.108(对方也只使用这个版本)
【问题讨论】:
-
chromedriver.exe需要在路径中,它在您的计算机中,所以它可以工作。 -
在对方的系统中,他们在 python 文件夹中也有 exe,在同一个文件夹中他们创建了 .py 文件..
-
所以代码本身是从不同的位置运行的,或者您手动将其添加到系统 PATH 中。为避免此类问题,请将
chromedriver添加到项目中并包含它的相对路径。 -
不,我也没有包含在环境变量和项目主页中
标签: python selenium-chromedriver