如何在 Appium 上选择可用按钮 Python

How to choose available button to be selected on Appium Python

所以我正在制作一个脚本来使用 appium python 自动执行测试。 我这里有一些按钮,如下所示:

问题是,我想 select 一个按钮,如果该按钮可用且未被预订满的话。 我需要先选择日期(所有日期按钮都可以点击),然后我才能选择可用时间。当按钮可用时,我只需单击按钮,selecting 过程就结束了。我不在乎点击哪个日期或时间按钮,只要它能搜索到可用的并点击即可。

我可以通过选择可用按钮使其静态化,但我想让它自动选择可用按钮。

我正在使用这样的 xpath "(//android.view.ViewGroup[@content-desc="date-day-btn"])[2]",数字就像在一个数组中, 因此日期按钮只有 7 个数字(1 到 7),时间按钮只有 6 个数字(1 到 6)。

如何才能选择按钮?

请帮忙,谢谢!

根据 UI 屏幕示例,我假设可用按钮已启用,但不可用按钮已禁用。

所以这可能会有所帮助,它将找到第一个启用的元素,由 XPATH 找到:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

date_day_element = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.XPATH, '//android.view.ViewGroup[@content-desc="date-day-btn"]')))

date_day_element.click();

并且可以对时间按钮执行类似的操作。