2016-07-27 115 views
3

我已在Yahoo mail中创建草稿,然后转到此草稿页面。 现在我想使用C#和Selenium Webdriver获得主题字段的值。 我用下面的代码,但它返回空字符串:无法在Yahoo草稿邮件中使用Webdriver获取草稿主题字段的值

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

使用文本属性,而不是GetAttribute方法,也于事无补。

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

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

+0

你试过GetAttribute(“innerHTML”)吗? –

+0

不幸的是它没有帮助,还有空字符串返回。 –

+0

你可以在这里粘贴HTML代码给我们看吗? –

回答

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"); 

我测试过它,它适用于我。

希望它有帮助... :)

+1

小写解决了这个问题,谢谢。 –