gpt4 book ai didi

c# - 等待可访问性 ID 可点击元素

转载 作者:行者123 更新时间:2023-11-30 20:27:16 25 4
gpt4 key购买 nike

我正在尝试等待元素可见,然后再尝试单击它。如果我不等待,我的测试将失败并返回 NoSuchElementException。现在我正在通过文本等待,但我希望能够等待 accessibilityId。我注意到 accessibilityId 不是 By 中的选项。我该如何处理?

_driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"),capability);
var wait = new WebDriverWait(_driver,new TimeSpan(0,0,0,15));
wait.Until(ExpectedConditions.ElementIsVisible(
By.XPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']")));
_driver.FindElementByXPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']").Click();;

更新:我注意到有一个 MobileBy 类,它具有用于辅助功能 ID 的 By 策略,但是当我尝试用它实现等待时,我的测试立即失败并出现 NoSuchElementException。一旦我使用 xpath 等待了足够长的时间,然后通过 _driver.FindByAccessibilityId 单击它似乎可以识别该按钮并单击它。

以下代码失败。
'var wait = new WebDriverWait(_driver, new TimeSpan(0, 0, 0, 45));

        wait.Until(ExpectedConditions.ElementIsVisible(MobileBy.AccessibilityId("Button_SignIn")));

_driver.FindElementByAccessibilityId("Button_SignIn").Click();'

工作代码

`var wait = new WebDriverWait(_driver, new TimeSpan(0, 0, 0, 45));

wait.Until(ExpectedConditions.ElementIsVisible(
By.XPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']")));

_driver.FindElementByAccessibilityId("Button_SignIn").Click();`

最佳答案

我刚刚发现 C# 中有一个 MobileBy 类,它具有可作为 By 类型使用的 AccessibilityId 定位器,但它并没有真正达到我的预期

关于c# - 等待可访问性 ID 可点击元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com