无法在 Yahoo 草稿邮件中使用 Webdriver 获取草稿主题字段的值

Unable to get value of subject field of the draft using Webdriver in Yahoo draft mail

我在 Yahoo mail 中创建了信件草稿,然后进入了信件草稿页面。 现在我想使用 C# 和 Selenium Webdriver 获取 Subject 字段的值。 我使用了以下代码,但它 returns 空字符串:

string subjectLocator = "//*[@id='subject-field']";
string actualSubject = driver.FindElement(By.XPath(subjectLocator)).GetAttribute("Value");

使用文本 属性 而不是 GetAttribute 方法也没有帮助。

如何使用 Selenium WebdriverC# 获取 yahoo draft letter 中主题字段的值?

http://prnt.sc/bye5ae - html 代码

正如我所见,您正在使用 .GetAttribute("Value") 从主题字段获取值,这里唯一的问题是将属性 属性 作为 Value 传递,应该是 value意味着 v 应该是小写的,所以你应该尝试如下:-

string actualSubject = driver.FindElement(By.Id("subject-field")).GetAttribute("value");

或使用 WebDriverWait 等待元素出现在 DOM 上,如下所示:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("subject-field")));
string actualSubject = element.GetAttribute("value");

我已经测试过了,它对我有用。

希望对您有所帮助...:)