【问题标题】:Unable to get value of subject field of the draft using Webdriver in Yahoo draft mail无法在 Yahoo 草稿邮件中使用 Webdriver 获取草稿主题字段的值
【发布时间】:2016-07-27 23:13:13
【问题描述】:

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

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

使用 Text 属性而不是 GetAttribute 方法也无济于事。

如何使用SeleniumWebdriverC#获取雅虎草稿信中主题字段的值?

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

【问题讨论】:

  • 你试过GetAttribute("innerHTML")吗?
  • 很遗憾没有帮助,还返回了空字符串。
  • 你能把HTML代码贴在这里给我们看吗?
  • prnt.sc/bye5ae请看截图。
  • 你没有例外?没有错误信息?只返回 Null?

标签: c# selenium xpath yahoo-mail


【解决方案1】:

正如我看到的那样,您正在使用从主题字段获取值作为 .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");

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

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

【讨论】:

    猜你喜欢
    • 2018-06-27
    • 2018-04-14
    • 2013-06-29
    • 2019-10-14
    • 2012-01-01
    • 1970-01-01
    • 2018-04-19
    • 2020-03-21
    • 1970-01-01
    相关资源
    最近更新 更多