com.chaquo.python.PyException:ValueError:无法使用以下命令获取Chrome的版本:google Chrome--version

com.chaquo.python.PyException:ValueError:无法使用以下命令获取Chrome的版本:google Chrome--version,python,android,selenium,selenium-chromedriver,chaquopy,Python,Android,Selenium,Selenium Chromedriver,Chaquopy,我目前正在使用Chaquopy将Python代码实现到Android Studio中。但是,我在Python中初始化selenium的chromedriver时遇到问题。每当我尝试使用行driver=webdriver.Chrome(“/path/to/chromedriver.exe,options=opt)”进行初始化时,我会收到错误“WebDriverException:Message:'chromedriver.exe'可执行文件可能有错误的权限”或“WebDriverException

我目前正在使用Chaquopy将Python代码实现到Android Studio中。但是,我在Python中初始化selenium的chromedriver时遇到问题。每当我尝试使用行
driver=webdriver.Chrome(“/path/to/chromedriver.exe,options=opt)”进行初始化时,我会收到错误“WebDriverException:Message:'chromedriver.exe'可执行文件可能有错误的权限”或“WebDriverException:Message:'chromedriver'可执行文件需要在路径中”因此,我导入了ChromeDriverManager并调用
driver=webdriver.Chrome(ChromeDriverManager().install(),options=opt)
。运行我的程序会出现以下错误:

    Process: com.example.test3, PID: 20964
    com.chaquo.python.PyException: ValueError: Could not get version for Chrome with this command: google-chrome --version
        at <python>.webdriver_manager.utils.chrome_version(utils.py:112)
        at <python>.webdriver_manager.driver.get_latest_release_version(driver.py:58)
        at <python>.webdriver_manager.manager.__get_latest_driver_version(manager.py:21)
        at <python>.webdriver_manager.manager.__get_version_to_download(manager.py:27)
        at <python>.webdriver_manager.manager.download_driver(manager.py:36)
        at <python>.webdriver_manager.chrome.install(chrome.py:28)
        at <python>.login.web_scrape(login.py:57)
        at <python>.chaquopy_java.call(chaquopy_java.pyx:281)
        at <python>.chaquopy_java.Java_com_chaquo_python_PyObject_callAttrThrows(chaquopy_java.pyx:253)
        at com.chaquo.python.PyObject.callAttrThrows(Native Method)
        at com.chaquo.python.PyObject.callAttr(PyObject.java:209)
        at com.example.test3.LoginWaterloo$1.onClick(LoginWaterloo.java:37)
        at android.view.View.performClick(View.java:7125)
        at android.view.View.performClickInternal(View.java:7102)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27336)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Process:com.example.test3,PID:20964
com.chaquo.python.PyException:ValueError:无法使用以下命令获取Chrome的版本:google Chrome--version
在.webdriver\u manager.utils.chrome\u版本(utils.py:112)
在.webdriver\u manager.driver.get\u最新发布版本(driver.py:58)
在.webdriver\u manager.manager.\u获取最新的\u驱动程序\u版本(manager.py:21)
在.webdriver\u manager.manager.\u获取版本以下载(manager.py:27)
在.webdriver\u manager.manager.download\u driver(manager.py:36)
安装(chrome.py:28)
at.login.web_scrap(login.py:57)
at.chaquopy_java.call(chaquopy_java.pyx:281)
在.chaquopy_java.java_com_chaquo_python_PyObject_callAttrThrows(chaquopy_java.pyx:253)
位于com.chaquo.python.PyObject.callAttrThrows(本机方法)
位于com.chaquo.python.PyObject.callAttr(PyObject.java:209)
在com.example.test3.LoginWaterloo$1.onClick(LoginWaterloo.java:37)上
在android.view.view.performClick上(view.java:7125)
在android.view.view.performClickInternal(view.java:7102)
在android.view.view.access$3500(view.java:801)
在android.view.view$PerformClick.run(view.java:27336)
位于android.os.Handler.handleCallback(Handler.java:883)
位于android.os.Handler.dispatchMessage(Handler.java:100)
位于android.os.Looper.loop(Looper.java:214)
位于android.app.ActivityThread.main(ActivityThread.java:7356)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

有没有关于如何克服这个错误的建议?我看到了一个有着相同问题但无法理解答案的示例。

对我来说,这是为chrome\u options参数而不是options参数提供了选项

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=chrome_options,  service_args=['--verbose', '--log-path=logs/chromedriver.log'])

对我来说,这与提供选项不是选项参数而是chrome_选项参数有关

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=chrome_options,  service_args=['--verbose', '--log-path=logs/chromedriver.log'])

这个问题肯定与您在变量“opt”中提供的内容有关。如果chromedriver.exe是Windows可执行文件,您将无法在Android上运行。据我所知,ChromeDriver文档支持在Windows/Max/Linux开发机器上使用它来控制Android设备,但不能直接在Android上运行。@dylanvanw以下是我初始化opt的代码:
opt=webdriver.ChromeOptions()
opt.add_参数(--headless”)
。我添加了一个参数“-headless”,因为我希望chromedriver打开一个我想对用户隐藏的浏览器。@mhsmith我有没有办法通过Android的浏览器(即Webview)运行chromedriver?对不起,我从未使用过任何webdriver工具,所以我什么都不知道了。这个问题肯定与变量“opt”中提供的内容有关。如果chromedriver.exe是Windows可执行文件,您将无法在Android上运行。据我所知,ChromeDriver文档支持在Windows/Max/Linux开发机器上使用它来控制Android设备,但不能直接在Android上运行。@dylanvanw以下是我初始化opt的代码:
opt=webdriver.ChromeOptions()
opt.add_参数(--headless”)
。我添加了一个参数“-headless”,因为我希望chromedriver打开一个我想对用户隐藏的浏览器。@mhsmith我有没有办法通过Android的浏览器(即Webview)运行chromedriver?对不起,我从未使用过任何webdriver工具,所以我什么都不知道。如果这是正确的答案,请勾选为正确答案。如果不只是让我知道,我可以改变我的答案来帮助你。我用下面的代码替换了我的代码,得到了与上面相同的错误如果它是正确的答案,请选中它作为正确的答案。如果不只是让我知道,我可以改变我的答案来帮助你。我用下面的代码替换了我的代码,得到了与上面相同的错误