У меня есть ошибка в моем коде, я знаю, что это за ошибка, но я не знаю, как ее исправить.
вот мой код:
KV:
<Main>
product: product
Screen:
BoxLayout:
size_hint: .8, .8
pos_hint: {"center_x": .5, "y": .7}
spacing: dp(100)
orientation: "vertical"
MDTextFieldRound:
id: product
hint_text: 'Enter a product'
icon_left: 'magnify'
on_text_validate: app.System()
FloatLayout:
MDCard:
orientation: "vertical"
size_hint: .43, .3
height: self.minimum_height
pos_hint: {"x": .05, "y": .35}
BoxLayout:
id: box
size_hint_y: None
height: dp(150)
MDLabel:
text: app.Ebay_text
PY:
class Main(MDApp):
Window.size = (310, 520)
title = "Best Price"
def build(self):
return Builder.load_string(KV)
product = ObjectProperty(None)
Ebay_text = StringProperty()
def System(self):
self.options = webdriver.ChromeOptions()
self.options.add_argument('headless')
self.options.add_argument('window-size=1920x1080')
self.options.add_argument("disable-gpu")
self.browser =
webdriver.Chrome('C://Users//Yesnia//Documents//chromedriver_win32//chromedriver.exe',
options=self.options)
self.browser.get('https://www.ebay.com/')
self.Esearch = self.browser.find_element_by_name('_nkw')
self.Esearch.send_keys(self.root.ids.product.text)
self.Esearch.send_keys(Keys.ENTER)
self.url = self.browser.current_url
self.browser.get('https://www.bestbuy.com.mx/')
self.Bsearch = self.browser.find_element_by_id('gh-search-input')
self.Bsearch.send_keys(self.root.ids.product.text)
self.Bsearch.send_keys(Keys.ENTER)
self.url1 = self.browser.current_url
#Ebay extractor
self.Ebay = Extractor.from_yaml_file('ebay.txt')
self.r_ebay = requests.get(self.url)
self.data_ebay = self.Ebay.extract(self.r_ebay.text)
#bestbuy extractor
self.Bestbuy = Extractor.from_yaml_file('Bestbuy.txt')
self.r_bestbuy = requests.get(self.url1)
self.data_bestbuy = self.Bestbuy.extract(self.r_bestbuy.text)
print('Product ', self.root.ids.product.text)
print('Ebay: ', self.data_ebay)
print('Bestbuy: ', self.data_bestbuy)
self.Ebay_text = self.data_ebay
if __name__ == "__main__":
Main().run()
здесь есть ошибка:
self.Ebay_data = self.data_ebay
File "kivy\properties.pyx", line 497, in
kivy.properties.Property.__set__
File "kivy\properties.pyx", line 541, in kivy.properties.Property.set
File "kivy\properties.pyx", line 532, in kivy.properties.Property.set
File "kivy\properties.pyx", line 698, in
kivy.properties.StringProperty.check
ValueError: Main.Ebay_data accept only str
Я знаю, что проблема в том, что если я добавлю строку свойства к тексту, это должно быть с "некоторым текстом здесь", но есть ли решение, чтобы оно работало, но с той же функциональностью?