我正在嘗試為“ElementIsVisible”撰寫通用代碼,以便可以在多個地方使用通用代碼。我不斷收到此錯誤。我該如何糾正?
Error CS1061 'Shared' does not contain a definition for 'SendKeys' and no accessible extension method 'SendKeys' accepting a first argument of type 'Shared' could be found (are you missing a using directive or an assembly reference?
這是我的代碼
public Shared WaitUntilElementIsVisible(By by)
{
WebDriverWait wait = new WebDriverWait(Driver.Instance.webDriver, TimeSpan.FromSeconds(20));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(by));
return this;
}
public Page Physician(string physician)
{
var WeekStarted = PrShared.Page.WaitUntilElementIsVisible(By.XPath("//input[@id='fyd_weekStarted']"));
WeekStarted.SendKeys(weekStarted);
return this;
}
**TO TEST**
Test.Page.Physician(Data.WeekStarted)
uj5u.com熱心網友回復:
在WaitUntilElementIsVisible()你有return this但你沒有定義什么this是。將wait在WaitUntilElementIsVisible()回傳的IWebElement...只是回傳,但你有你的回傳型別更改為IWebElement。
public IWebElement WaitUntilElementIsVisible(By by)
{
WebDriverWait wait = new WebDriverWait(Driver.Instance.webDriver, TimeSpan.FromSeconds(20));
return wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(by));
}
另一個建議是為此方法添加一個超時引數,以便您可以調整等待時間,例如
public IWebElement WaitUntilElementIsVisible(By by, int timeout)
{
WebDriverWait wait = new WebDriverWait(Driver.Instance.webDriver, TimeSpan.FromSeconds(timeout));
return wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(by));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/337293.html
