C# WatiN:GetAttributeValue(“value”)不返回值
我打算从所有语言的谷歌翻译菜单中显示value-of-value属性。它由页面的左侧列表表示 这是我正在运行的代码,控制台上没有显示任何内容(除了新行)。有什么不对劲吗C# WatiN:GetAttributeValue(“value”)不返回值,c#,.net,testing,automated-tests,watin,C#,.net,Testing,Automated Tests,Watin,我打算从所有语言的谷歌翻译菜单中显示value-of-value属性。它由页面的左侧列表表示 这是我正在运行的代码,控制台上没有显示任何内容(除了新行)。有什么不对劲吗 using System; using WatiN.Core; namespace Test { class Program { [STAThread] static void Main(string[] args) { IE ie = n
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();
}
}
}
使用系统;
使用WatiN.Core;
名称空间测试
{
班级计划
{
[状态线程]
静态void Main(字符串[]参数)
{
IE=新IE(“https://translate.google.com/");
Div selectLanguage=ie.Div(Find.ById(“gt sl sugg”);
foreach(selectLanguage.ChildrenOfType()中的var lang)
Console.WriteLine(lang.GetAttributeValue(“value”);
即关闭();
Console.Read();
}
}
}
WatiN:2.1.0将
(“值”)
替换为(“值”)
,出于某种原因,所有属性的首字母都大写。我的猜测是watin将DOM元素反序列化为对象,并且由于使用该命名约定(PascalCase)的属性名是相当标准的,因此对这些对象也是如此。value
不是这些div的属性。你确定你不是指innerHTML
或innerText
?我很确定,我不想要文本,而是属性值。好的,我明白了。将(“value”)
替换为(“value”)
,出于某种原因,所有属性的第一个字母都是大写的。我猜watin将DOM元素反序列化为对象,并且由于使用这种命名约定的属性名是非常标准的,所以它是这样做的。对不起,我想在最后一条消息中这样说的。我在Console.WriteLine(lang.GetAttributeValue(“Value”))上设置了一个断点代码>行,并进行调试,注意到所有其他属性和属性都是这样的,并尝试了一下。如果你想接受我的评论作为回答,我可以发表我的评论。