特定のアイテムを見つけるための汎用関数を作成したいですか?
私はこのC#コードを実行します(Src:Selenium WebDriverで明示的な待機を正しく使用します)
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://somedomain/url_that_delays_loading";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
try
{
return d.FindElement(By.Id("someDynamicElement"));
}
catch
{
return null;
}
});
一般的な関数を使用して、wait.Until((....); を置き換えます。
特定の項目を見つけるためにジェネリックByセレクターを宣言するにはどうすればよいですか?
組み込みの Selenium2 セレクターのリストを次に示します。
ClassName
CssSelector
Id
LinkText
PartialLinkText
Name
TagName
XPath
例えば :
IWebElement myDynamicElement = WaitForElement(????) // for exemple By.TagName = "Test"
public static IWebElement WaitForElement(**By selector**)
{
wait.Until<IWebElement>((d) =>
{
try
{
return d.FindElement(**By selector**);
}
catch
{
return null;
}
});
}