Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Kivy中运行Selenium(浏览器在Kivy窗口中打开)_Python_Selenium_Selenium Webdriver_Kivy - Fatal编程技术网

Python 如何在Kivy中运行Selenium(浏览器在Kivy窗口中打开)

Python 如何在Kivy中运行Selenium(浏览器在Kivy窗口中打开),python,selenium,selenium-webdriver,kivy,Python,Selenium,Selenium Webdriver,Kivy,我编写了一个小脚本,用户在其中输入一个产品编号,然后用于查找项目。我正在使用chrome的webdriver。它现在按预期工作 from kivy.app import App from kivy.uix.label import Label from kivy.uix.button import Button from kivy.uix.floatlayout import FloatLayout from kivy.uix.textinput import TextInput from ki

我编写了一个小脚本,用户在其中输入一个产品编号,然后用于查找项目。我正在使用chrome的webdriver。它现在按预期工作

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.image import Image
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

class KivyButton(App):
    def update(self,instance,*args):
        driver = webdriver.Chrome()
        driver.get('https://us.pandora.net/')
        fill_box = driver.find_element_by_xpath('//*[@id="q"]')
        fill_box.clear()
        fill_box.send_keys(self.product_number.text)
        try:
            WebDriverWait(driver, 3).until(EC.element_to_be_clickable((By.XPATH,'/html/body/div[1]/div/div[1]/header/nav/div[2]/div[3]/div/div/div/div[2]/div/a/div[1]/img'))).click()
        except:
            print('invalid info')
            driver.close()

    def build(self):
        self.layout  = FloatLayout(size=(300,300))
        image=Image(source='pandora.jpg',allow_stretch=True,keep_ratio=False)
        title=Label(text='Please Enter Product Number',color=[0,0,0,1],font_size='20dp', pos=(200,350),size_hint=(0.1,.1))
        self.mybtn=Button(text='Enter',on_press=self.update,pos=(500,300),size_hint=(.1,.1))
        self.product_number=TextInput(text='',font_size='40dp',pos=(100,300),size_hint=(.5,.1))
        self.layout.add_widget(image)
        self.layout.add_widget(self.product_number)
        self.layout.add_widget(self.mybtn)
        self.layout.add_widget(title)
        return self.layout

KivyButton().run()
然而,我想在android上运行这个应用程序(这就是我用Kivy编写它的原因)。我试图查找是否有android webbrowser的webdriver,或者我在这里使用的webdriver是否可以与移动版的Chrome配合使用,但我没有找到任何东西

此外,我希望浏览器在Kivy窗口中打开(即在应用程序窗口中显示浏览器),而不是单独打开浏览器。目前,chrome浏览器单独打开


任何帮助都将不胜感激

我不相信你会用硒来做这件事。我相信您会希望使用移动操作系统的本机浏览器


还有一个关于如何实现的堆栈溢出问题

这让我陷入了地狱的兔子洞,直到我意识到你不能在windows上编程android应用程序(或者至少你不能测试它们,这使得它毫无用处)。但愿他们能把这些写在他们的网页上,就不会浪费我的时间