如何在 Android 上使用 Selenium Chromdriver

sam*_*man 6 python selenium android kivy selenium-chromedriver

我使用 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()
Run Code Online (Sandbox Code Playgroud)

它基本上只是一个按钮,当你点击它时,就会带你去谷歌。我正在使用 buildozer 在我的手机上转换/运行它。我已将依赖项设置为 python、kivy、selenium、chromedriver、urllib3。然后 pip 安装这些依赖项。该应用程序将加载,但这是我尝试运行 selenium 时的输出。

python : PermissionError: [Errno 13] Permission Denied
Run Code Online (Sandbox Code Playgroud)

从网上查了一下,这个错误似乎是chromedriver配置不正确时弹出的。使用此网站:https://chromedriver.chromium.org/getting-started/getting-started---android它指出 chromedriver 应该适用于 android chrome,但在他们的示例中他们使用,'./chromedriver'所以我也在我的程序中添加了它driver=webdriver.Chrome('./chromedriver')但是这给了我同样的错误。有多个不同版本的chromedriver,因此我唯一能想到的是buildriver安装的chromedriver版本与我手机上的Chrome版本不兼容?但除此之外,我不知道为什么会收到此错误。

小智 3

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()
Run Code Online (Sandbox Code Playgroud)

您尝试过这些选项吗?

来源: https: //chromedriver.chromium.org/getting-started/getting-started---android