如何在Android上使用Selenium Chromedriver

6

我使用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版本不兼容?但除了这个问题,我不知道为什么会收到这个错误。

2个回答

3

这没有改变任何事情。仍然得到相同的错误! - KBill

1
尝试在buildozer.spec文件中添加所需权限。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接