【发布时间】:2017-03-20 14:36:25
【问题描述】:
我打算从所有语言的 Google 翻译 菜单中显示 value 属性的值。它由页面的left列表表示。
这是我正在运行的代码,控制台上没有显示任何内容(除了新行)。有什么问题?
using System;
using WatiN.Core;
namespace Test
{
class Program
{
[STAThread]
static void Main(string[] args)
{
IE ie = new IE("https://translate.google.com/");
Div selectLanguage = ie.Div(Find.ById("gt-sl-sugg"));
foreach (var lang in selectLanguage.ChildrenOfType<Div>())
Console.WriteLine(lang.GetAttributeValue("value"));
ie.Close();
Console.Read();
}
}
}
等待:2.1.0
【问题讨论】:
-
value不是这些 div 的属性。你确定你说的不是innerHTML或innerText? -
我很确定,我不想要 text,而是属性 value。
-
好的,我明白了。将
("value")替换为("Value"),由于某种原因,所有属性的首字母都大写。 -
我的猜测是 watin 将 DOM 元素反序列化为对象,并且由于使用该命名约定的属性名称是非常标准的,所以它就是这样做的。
-
对不起,我是想在上一条信息中说这个。我在
Console.WriteLine(lang.GetAttributeValue("Value"));行上设置了一个断点,并调试并注意到所有其他属性和属性都是这样,并尝试了一下。如果您想接受它作为答案,我可以发表我的评论。
标签: c# .net testing automated-tests watin