sendkeys不适用于python appium的类型号

0sgqnhkj  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(104)

**大家好!我需要一些帮助,我一直在努力输入一个数字到输入字段。此字段的类型为“NUMBER”

首先我找到元素,然后我点击元素(这很好用)第三次我试着写在恶魔上,但是测试失败了。
这里是代码。**

from selenium.webdriver.common.by import By
from pages.basepage import BasePage

class medicationform(BasePage):
    dosis = (By.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View[2]/android.app.Dialog/android.view.View/android.view.View[2]/android.view.View[1]/android.view.View/android.view.View[3]/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText")

  def ingresar_dosis(self):
        self.click(self.dosis)
        self.send_keys_integer(self.dosis,2)



class BasePage:

   def send_keys_integer(self, by, text: int):
        wait = WebDriverWait(self.driver, 10)
        element = wait.until(EC.visibility_of_element_located(by))
        element.send_keys(text)

**我附上Appium检查员

谢谢你的帮助。!**
我试过Diferts XPATH。我也尝试在其他输入类型=数字和不工作。但是对于String类型可以工作。

uxhixvfz

uxhixvfz1#

send_keys()不能使用字符串以外的任何东西。如果你必须给你的方法发送一个int,你可以改变下面的行。

element.send_keys(str(text))

否则,我建议你的方法接受字符串,这会让一切变得更容易。

self.send_keys_integer(self.dosis,"2")

如果要传递字符串,最好删除(或至少重命名).send_keys_integer()

相关问题