我使用Selenium
进行了多项测试。如果我正确地筑巢,我很好奇。我不确定是否有更好的方法,如果有,我会很高兴听到它。
目前我在启动时使用WinApp
驱动程序打开PowerPoint会话。然后在嵌套时我执行以下操作。在这里,我找到一个名为Linking的元素。在元素树中链接的子代是更新等等。
var linking = session.FindElementByName("Linking");
var update = linking.FindElementByName("Update");// within the linking element there is an update button
update.Click();
session.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
var all =update.FindElementByName("All");// within the update element there is a dropdown menu with an "All" button
session.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
all.Click();
答案 0 :(得分:1)
在评论中,您提到代码的问题是除非您进入睡眠状态,否则all
无法点击。
使用显式等待。类似的东西:
new WebDriverWait(session, TimeSpan.FromSeconds(10))
.Until(ExpectedConditions.ElementToBeClickable(update.FindElementByName("All"))
WinApp 驱动程序的情况可能略有不同,但这是基本想法。