我使用selenium在kivy中编写了一个非常简单的脚本。
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.app import App
from selenium import webdriver
class KivyButton(App):
def update(self,instance,*args):
driver = webdriver.Chrome()
driver.get('https://google.com')
def build(self):
self.layout = FloatLayout(size=(300,300))
self.mybtn=Button(text='Enter',on_press=self.update,pos=(500,300),size_hint=(.1,.1))
self.layout.add_widget(self.mybtn)
return self.layout
KivyButton().run()
这基本上只是一个按钮,当你点击它时,会带你进入Google。我正在使用buildozer将其转换/运行在我的手机上。我已经将依赖项设置为Python、Kivy、Selenium、Chromedriver和Urllib3。然后,它会pip安装这些依赖项。应用程序会加载,但当我尝试运行Selenium时,就会出现这个输出。
python : PermissionError: [Errno 13] Permission Denied
从网上查看,这个错误似乎是由于chromedriver未正确配置造成的。在https://chromedriver.chromium.org/getting-started/getting-started---android 这个网站上指出chromedriver应该适用于android chrome,但在他们的示例中,他们使用了 './chromedriver'
,所以我也将其添加到了我的程序中driver=webdriver.Chrome('./chromedriver')
。但是这仍然让我遇到了相同的错误。
有多个chromedriver版本,因此我唯一能想到的问题是buildriver安装的chromedriver版本与我的手机上Chrome版本不兼容?但除了这个问题,我不知道为什么会收到这个错误。