界面是 Frame 的 ,左边是 菜单 菜单是用 由JS动态生成的
<li class="focus" id="1000011" onclick="clickThirdMenu(false, '1000011', '0000738', '测试', '/pages/bsd/repaircard/aadg.jsf?authKey=47yh%2BwMmFMxgLy8sWheaTP1wYz0hM%3D', this, null);"><span style="cursor:hand" class="text">测试</span></li>这是其中的一项我写的 单击 这个选项的代码
HtmlElement btnSubmit = webBrowser1.Document.Window.Frames["frameNav"].Document.All["1000011"];
if (btnSubmit!= null)
btnSubmit.InvokeMember("click"); 执行报错 说 属性 clickThirdMenu 的值为null 、未定义或不是Function 对象代码 0请高手指教webbrowserC#html采集浏览器
<li class="focus" id="1000011" onclick="clickThirdMenu(false, '1000011', '0000738', '测试', '/pages/bsd/repaircard/aadg.jsf?authKey=47yh%2BwMmFMxgLy8sWheaTP1wYz0hM%3D', this, null);"><span style="cursor:hand" class="text">测试</span></li>这是其中的一项我写的 单击 这个选项的代码
HtmlElement btnSubmit = webBrowser1.Document.Window.Frames["frameNav"].Document.All["1000011"];
if (btnSubmit!= null)
btnSubmit.InvokeMember("click"); 执行报错 说 属性 clickThirdMenu 的值为null 、未定义或不是Function 对象代码 0请高手指教webbrowserC#html采集浏览器
(function() {
var accessUrl = url + 'pages/sys/frame/iframe-access';
var resError = function(retMsg, retCode) {
retMsg = retMsg || '';
retCode = retCode || '';
window.location.replace(accessUrl + '?retMsg=' + encodeURIComponent(retMsg)
+ '&retCode=' + encodeURIComponent(retCode));
};
try {
var iframeAccessUrl = '';
if (iframeAccessUrl) { // 如果是iframe集成ESS页面透明登录后跳转
if ('empty' == iframeAccessUrl) {
resError('跳转地址为空');
return;
}
if (!window.parent || window.parent.length == 0) {
resError('没有嵌套页面');
return;
}
window.location.replace(iframeAccessUrl);
return;
}
// 该页面不能被嵌套
if (window.parent && window.parent.length != 0) {
window.parent.location.href = url;
return;
}
// 不跳转
} catch (e) {
resError('js出错');
}
})();function selectedLayItem(fct,laytype){
if(fct && fct.nodeType){
var lis=fct.getElementsByTagName("li");
if(lis && lis.length){
var li,link;
for(var i=0;i<lis.length;i++){
li=lis[i];
if(typeof(li)!="undefined" && li.nodeType
&& typeof(li.tagName)!="undefined"){
li.className="";
if(li.childNodes.length){
link=li.childNodes[0];
if(laytype==link.getAttribute("laytype")){
li.className="on";
}
}
}
}
}
}
}function selectedLayout(laytype) {
if(!laytype) return false; var frameTop=document.getElementById("frameTop");
var frameFct=document.getElementById("frameFct");
var fct=null;
if(frameTop && frameTop.contentWindow.document){
fct=frameTop.contentWindow.document.getElementById("fct");
selectedLayItem(fct,laytype);
}
fct=null;
if(frameFct && frameFct.contentWindow.document){
fct=frameFct.contentWindow.document.getElementById("fct");
selectedLayItem(fct,laytype);
}
var frame = document.getElementById("frame");
var frameWindow = document.getElementById("frameWindow");
if (laytype == "1") {
frame.rows = "79,60,*,20";
frameWindow.cols = "190,6,*";
} else if (laytype == "2") {
frame.rows = "0,60,*,20";
frameWindow.cols = "190,6,*";
} else if (laytype == "3") {
frame.rows = "79,60,*,20";
frameWindow.cols = "0,6,*";
} else if (laytype == "4") {
frame.rows = "0,60,*,20";
frameWindow.cols = "0,0,*";
}
}
-->//--></script>
这个JS 因该是在左边的导航页面里的
style="FONT-SIZE: 9pt" onclick="pushBtm('YU')">年↑</BUTTON><BR><BUTTON
style="FONT-SIZE: 9pt" onclick="pushBtm('YD')">年↓</BUTTON>
<P><BUTTON style="FONT-SIZE: 9pt"
onclick="pushBtm('MU')">月↑</BUTTON><BR><BUTTON style="FONT-SIZE: 9pt"
onclick="pushBtm('MD')">月↓</BUTTON>
<P><BUTTON style="FONT-SIZE: 9pt" onclick="pushBtm('')">今日</BUTTON>
</P></TD>
private void 定时_Tick(object sender, EventArgs e)
{
HtmlElement resultElement = null;
foreach (HtmlElement currentElement in 网页浏览.Document.All)
{
if (currentElement.GetAttribute("value").Contains("年↑"))
{
resultElement = currentElement;
break;
}
}
if (resultElement != null)
resultElement.InvokeMember("click");
}
VS2010 C# 测试通过
onchange=changeCld() name=SY>
<SCRIPT language=JavaScript><!--
for(i=1900;i<2050;i++) document.write('<option>'+i)
//--></SCRIPT>
</SELECT>
所幸是本地文件,可以修改为:<SELECT style="FONT-SIZE: 9pt"
onchange=changeCld() name=SY>
<SCRIPT language=JavaScript><!--
for(i=1900;i<2050;i++) document.write('<option value='+i+'>'+i)
//--></SCRIPT>
</SELECT>
修改后可以赋值:HtmlElement name控件 = 网页浏览.Document.All["SY"];
string name控件值 = name控件.OuterText;
if (name控件值 != "1965")
name控件.SetAttribute("value", "1965");