我正在尝试从Chrome浏览器获取当前网址。当我的浏览器使用英语时,我的代码正在运行。但是当某人有不同的语言时,由于比较而无法正常工作。
AutomationElement elm = AutomationElement.FromHandle(p.MainWindowHandle);
AutomationElement elmUrlBar = null;
// elmUrlBar = elm.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "Adresse und Suchleiste"));
// if (elmUrlBar != null)
elmUrlBar = elm.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "Address and search bar"));
if (elmUrlBar != null)
{
AutomationPattern[] patterns = elmUrlBar.GetSupportedPatterns();
if (patterns.Length > 0)
{
ValuePattern val = (ValuePattern)elmUrlBar.GetCurrentPattern(patterns[0]);
objSchemeDetail.ProcessName = val.Current.Value;
}
}
我将“地址和搜索栏”更改为德语,但仍然无效。什么是替代品?
答案 0 :(得分:0)
Chrome是由Google提供的Chromium版本。铬源代码位于chromium.googlesource.com。正在搜索"地址和搜索栏"我发现generated_resources_en-GB.xtb显示带有ID的英文文本,例如:
<translation id="2824775600643448204">Address and search bar</translation>
当我在德语版本(generated_resources_de.xtb)中搜索相同的ID时,我找到了
<translation id="2824775600643448204">Adress- und Suchleiste</translation>
因此,您似乎必须为要支持的每种语言检查此文件。在铬版本48及更新版本中,此文本似乎已移至不同的位置。