如何使用Python在没有元素的情况下单击侧栏菜单

如何使用Python在没有元素的情况下单击侧栏菜单,python,python-3.x,selenium,Python,Python 3.x,Selenium,在一个网站中有一个侧边栏菜单,我想点击其中的一个元素,我将向您解释: 侧边栏菜单: Mobiles - iOS - Android Laptops TVs 我想点击手机来显示手机的操作系统选项,但在页面源代码中我并没有找到任何ID或类…等与此侧边栏菜单相关的内容,我只有java脚本代码,当我打开手机firefox inspect时,我找到了这些代码 <tr class="h1" style="cursor:pointer" onclick="javascript:ope

在一个网站中有一个侧边栏菜单,我想点击其中的一个元素,我将向您解释:

侧边栏菜单:

 Mobiles
   - iOS
   - Android
 Laptops
 TVs
我想点击手机来显示手机的操作系统选项,但在页面源代码中我并没有找到任何ID或类…等与此侧边栏菜单相关的内容,我只有java脚本代码,当我打开手机firefox inspect时,我找到了这些代码

<tr class="h1" style="cursor:pointer" onclick="javascript:openLink('getpage.gch?pid=1002&amp;nextpage=app_ddns_conf_t.gch')" onmouseover="altMenuClass(this,true)" onmouseout="altMenuClass(this,false)"><td class="add">&nbsp;</td><td class="mid" id="nothing">Mobiles</td></tr>
并尝试了selenium的所有属性,比如(按名称、id、文本、链接等查找元素),还尝试了使用鼠标悬停,但我只得到了这样一个错误

Traceback (most recent call last):
  File "C:/Users/userName/Desktop/myTest.py", line 6, in <module>
    driver.find_element_by_id("#nothing")
  File "C:\Users\userName\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 269, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "C:\Users\userName\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
    'value': value})['value']
  File "C:\Users\userName\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Users\userName\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"id","selector":"#nothing"}
Stacktrace:
    at FirefoxDriver.prototype.findElementInternal_ (file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
    at FirefoxDriver.prototype.findElement (file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
    at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
    at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
    at DelayedCommand.prototype.execute/< (file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
回溯(最近一次呼叫最后一次):
文件“C:/Users/userName/Desktop/myTest.py”,第6行,在
driver.find_element_by_id(“#nothing”)
文件“C:\Users\userName\AppData\Local\Programs\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第269行,按id查找元素
返回self.find_元素(by=by.ID,value=ID_u)
文件“C:\Users\userName\AppData\Local\Programs\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第752行,在find\u元素中
'value':value})['value']
文件“C:\Users\userName\AppData\Local\Programs\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,执行中第236行
self.error\u handler.check\u响应(响应)
文件“C:\Users\userName\AppData\Local\Programs\Python36-32\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第192行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.NoSuchElementException:消息:无法定位元素:{“方法”:“id”,“选择器”:“#nothing”}
堆栈跟踪:
在FirefoxDriver.prototype.findelement内部(file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/driver component.js:10770)
在FirefoxDriver.prototype.findElement(file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/driver component.js:10779)
在DelayedCommand.prototype.executeInternal\uh处(file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command processor.js:12661)
在DelayedCommand.prototype.executeInternal\u(file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command processor.js:12666)
在DelayedCommand.prototype.execute/<(file:///C:/Users/userName/AppData/Local/Temp/tmp1kwy7ut8/extensions/fxdriver@googlecode.com/components/command processor.js:12608)
我的项目因为缺少这一步而停止了,我能做什么呢?我等了太多时间才得到stack overflow的许可来问这个问题,如果你没有回答我,我会等两天再问

整页源代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>&#90;&#88;&#72;&#78;&#32;&#72;&#49;&#48;&#56;&#78;&#32;&#86;&#50;&#46;&#53;</title>
<style >
* {
margin: 0 0 0 0;
padding: 0;
}
html {min-height:101%;}
body {
background-color:#fff;
}
.body_ta {
background: url("../img/user_bg_1px.gif") repeat scroll 0 0 #fff;
margin: 0 auto;
padding-top: 0;
width: 100%;
}
</style>
</head>
<script type="text/javascript">
function getObj(id){return(document.getElementById(id));}function jslSetValue(dst, src, action){var src_o = getObj(src);var dst_o = getObj(dst);dst_o.value= String(src_o.value);switch (action){case "GET":if (dst_o.setAttribute){dst_o.setAttribute("_initValue", dst_o.value)}break;case "SET":if (src_o.getAttribute){var initValue = src_o.getAttribute("_initValue");if (initValue == src_o.value){dst_o.value = "NULL";}}break;default:break;}}function setValue(id,value){getObj(id).value = value;}function getValue(id){return(getObj(id).value);}function setHTML(id, html){getObj(id).innerHTML = html;}function getHTML(id){return (getObj(id).innerHTML);}function getDisabled(id){return(getObj(id).disabled);}function getDisplay(id){if(getObj(id).style.display == "none")return false;else return true;}function getChecked(id){return(getObj(id).checked);}function setChecked(id,value){getObj(id).checked = value;}function jslDiDisplay(id){var i;var num=arguments.length;if(num==0) return;for(i=0;i < num; i++){getObj(arguments[i]).style.display = "none";}}function jslEnDisplay(id){var i;var num=arguments.length;if(num==0) return;for(i=0;i < num; i++){getObj(arguments[i]).style.display = "";}}function jslDisable(id){var i;var num=arguments.length;if(num==0) return;for(i=0;i < num; i++){getObj(arguments[i]).disabled=true;}}function jslEnable(id){var i = 0;var num=arguments.length;if(num==0)return;for(i=0;i < num; i++){getObj(arguments[i]).disabled=false;}}function jslViewToPostCheckBox(PostId, ViewId){if (getObj(ViewId).checked)getObj(PostId).value = "1";else getObj(PostId).value = "0";}function jslPostToViewCheckBox(ViewId, PostId){if (getObj(PostId).value == "1")getObj(ViewId).checked = true;else getObj(ViewId).checked = false;}function jslGetRadioValue(radioObject){if (radioObject){if (radioObject.length){for (var i = 0; i < radioObject.length; i++){if (radioObject[i].checked){return radioObject[i].value;}}}else if (radioObject.checked){return radioObject.value;}}return -1;}function jslSetRadioValue(radioObject, value){if(radioObject){if(radioObject.length){for(var i=0;i<radioObject.length; i++){if(radioObject[i].value == value){radioObject[i].checked = true;return true;}}}else if (radioObject.value == value){radioObject.checked = true;}}return false;}function jslDoShowComboBox(viewid,postid){var i;var selector = getObj(viewid);var value=getObj(postid).value;if(selector==null) return;for(i=0; i < selector.length; i++){if(selector.options[i].value == value){selector.selectedIndex = i;return;}}selector.selectedIndex = -1;}function addSelectOption(id, val, txt){var f = 0;var o = getObj(id);for (var i=0; i<o.options.length; i++){var v = o.options[i].value;if (val == v){f = 1;break;}}if (f == 0){var op = document.createElement('option');op.text = txt;op.value = val;try{o.add(op,null); }catch(ex){o.add(op); }}}function deleteSelectOption(id, val){var o = getObj(id);for (var i=0; i<o.options.length; i++){var v = o.options[i].value;if (val == v){o.remove(i);break;}}}function clearSelect(id){var o = getObj(id);while(o.options.length > 0){o.remove(0);}}function isValInSelect(val, sid){var sObj = getObj(sid);for ( var i=0; i<sObj.length; i++ ){if ( val == sObj.options[i].value ){return 1;}}return 0;}function getOptionIndexByValue(sid, val){var sObj = getObj(sid);for ( var i=0; i<sObj.length; i++ ){if ( val == sObj.options[i].value ){return i;}}return -1;}function colorizeInfoTbl(id){var objTrSet = getObj(id).getElementsByTagName("tr");var j = 0;var clasName;for (var i=0; i<objTrSet.length; i++){if ( objTrSet[i].style.display != "none"){j++;if ( j%2 == 1 ){clasName = "white_1";}else {clasName = "blue_1";}objTrSet[i].setAttribute("class", clasName);objTrSet[i].setAttribute("className", clasName);}}}function RmZero(str){while(str.indexOf("0") == 0 && str.length > 1){str = str.substr(1);}return str;}function IpRmZero(IpAddrValue){var IpAddr = IpAddrValue;var addrParts = IpAddr.split('.');IpAddr = "";for (var i = 0; i < 4; i++){addrParts[i]=RmZero(addrParts[i]);IpAddr = addrParts.join(".");}return IpAddr;}function ReSetIpRmZero(ID){var num = arguments.length;var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;var obj;if(num == 0) return;for(i = 0;i < num; i++){obj = getObj(arguments[i]);if((obj != null && obj.value != ""&& obj.value != null )&&(re.test(obj.value) == true)){obj.value = IpRmZero(obj.value);}}}function ReSetValueRmZero(ID){var num = arguments.length;var obj;for(i = 0;i < num; i++){obj = getObj(arguments[i]);if(obj != null && obj.value != null && obj.value != ""){obj.value = RmZero(obj.value);}}}function Transfer_meaning(id,value){getObj(id).value=value;}function HiddenParaInit(arr){var val;for(var i=0; i<arr.length; i++){val = arr[i];arr[i] = "NULL";setValue(val, "NULL");}}function HiddenMultiInstParaInit(arr, index){var val;for(var i=0; i<arr.length; i++){val = arr[i];setValue(val+index, "NULL");}}function setNULLToSepPort(Port, Val){var portvalue=Port;if(portvalue==""){portvalue = Val;}return portvalue;}function getSepPortToNULL(Port, Val){var portvalue=Port;if(portvalue==Val){portvalue="";}return portvalue;}function setNULLToPort(Port){var portvalue=Port;if(portvalue==""){portvalue = "-1";}return portvalue;}function getPortToNULL(Port){var portvalue=Port;if(portvalue=="-1"){portvalue="";}return portvalue;}function setNULLToMAC(MAC){var macaddr=MAC;if(macaddr==""){macaddr="00:00:00:00:00:00";}return macaddr;}function getMACToNULL(MAC){var macaddr=MAC;if(macaddr=="00:00:00:00:00:00"){macaddr="";}return macaddr;}function setNULLToIP(IP){var ipvalue=IP;if(ipvalue==""){ipvalue="0.0.0.0";}return ipvalue;}function getIPToNULL(IP){var ipvalue=IP;if(ipvalue=="0.0.0.0"){ipvalue="";}return ipvalue;}function encode64(input){var keyStr = "ABCDEFGHIJKLMNOP"+ "QRSTUVWXYZabcdef"+ "ghijklmnopqrstuv"+ "wxyz0123456789+/"+ "=";input = escape(input);var output = "";var chr1, chr2, chr3 = "";var enc1, enc2, enc3, enc4 = "";var i = 0;do {chr1 = input.charCodeAt(i++);chr2 = input.charCodeAt(i++);chr3 = input.charCodeAt(i++);enc1 = chr1 >> 2;enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);enc4 = chr3 & 63;if (isNaN(chr2)){enc3 = enc4 = 64;}else if (isNaN(chr3)){enc4 = 64;}output = output +keyStr.charAt(enc1) +keyStr.charAt(enc2) +keyStr.charAt(enc3) +keyStr.charAt(enc4);chr1 = chr2 = chr3 = "";enc1 = enc2 = enc3 = enc4 = "";} while (i < input.length);return output;}function decode64(input){var output = "";var chr1, chr2, chr3 = "";var enc1, enc2, enc3, enc4 = "";var i = 0;var base64test = /[^A-Za-z0-9\+\/\=]/g;var keyStr = "ABCDEFGHIJKLMNOP"+ "QRSTUVWXYZabcdef"+ "ghijklmnopqrstuv"+ "wxyz0123456789+/"+ "=";if (base64test.exec(input)) {alert("There were invalid base64 characters in the input text.\n"+"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n"+"Expect errors in decoding.");}input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");do {enc1 = keyStr.indexOf(input.charAt(i++));enc2 = keyStr.indexOf(input.charAt(i++));enc3 = keyStr.indexOf(input.charAt(i++));enc4 = keyStr.indexOf(input.charAt(i++));chr1 = (enc1 << 2) | (enc2 >> 4);chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);chr3 = ((enc3 & 3) << 6) | enc4;output = output + String.fromCharCode(chr1);if (enc3 != 64) {output = output + String.fromCharCode(chr2);}if (enc4 != 64) {output = output + String.fromCharCode(chr3);}chr1 = chr2 = chr3 = "";enc1 = enc2 = enc3 = enc4 = "";} while (i < input.length);return unescape(output);}function HtmlShowSpace(value,id){var temp="";for(var i=0;i<value.length;i++){var part=value.substring(i,i+1);if(" "== part){temp=temp+"&nbsp;";}else {temp=temp+part;}}getObj(id).innerHTML=temp;}function trimLSpaces(str){return str.replace(/(^\s*)/g, "");}function trimRSpaces(str){return str.replace(/(\s*$)/g, "");}function trimAllSpaces(str){for(var i = 0; i < str.length; i++){if(str.charAt(i) == " "){str = str.substring(0, i) + str.substring(i+1, str.length);i--;}}return str;}function trimLRSpaces(str){str = str.replace(/(^\s*)|(\s*$)/g, "");return str;}function fnBreakWordAll(o) {var o = o || {},iWord = o.word || 13,iRe = o.re || '[a-zA-Z0-9]',bAll = o.all || false,sClassName = o.className || 'word-break-all',aEls = o.els || ( function() {var aEls = [],aAllEls = document.getElementsByTagName( '*' ),re = new RegExp( '(?:^|\\s+)' + sClassName + '(?:\\s+|$)' );for ( var i = 0, iLen = aAllEls.length; i < iLen; ++i ) {if ( re.test( aAllEls[i].className ) ) {aEls[aEls.length] = aAllEls[i];}}return aEls;} )() || [],fnBreakWord = function( oEl ) {if( !oEl || oEl.nodeType !== 1 ) {return false;} else if ( oEl.currentStyle && typeof(oEl.currentStyle.wordWrap) === 'string' ) {breakWord = function( oEl ) {if (oEl.runtimeStyle){oEl.runtimeStyle.wordWrap = 'break-word';}return true;};return breakWord( oEl );} else if ( document.createTreeWalker ) {var trim = function ( str ) {str = str.replace( /^\s\s*/, '' );var ws = /\s/,i = str.length;while ( ws.test( str.charAt( --i ) ) );return str.slice(0, i + 1);};breakWord = function( oEl ) {var dWalker = document.createTreeWalker( oEl, NodeFilter.SHOW_TEXT, null, false );var node, s, c = String.fromCharCode( '8203' ),re = new RegExp( '(' + iRe + '{0,' + iWord + '})' );while ( dWalker.nextNode() ) {node = dWalker.currentNode;s = trim( node.nodeValue ).split( re ).join( c );node.nodeValue = s;}return true;};return breakWord( oEl );}};for( var i=0, n=aEls.length; i<n; ++i ) {var sUa = navigator.userAgent, sTn = aEls[i].tagName.toLowerCase();if ( ( /Opera/ ).test( sUa ) || ( /Firefox/ ).test( sUa ) || ( ( /KHTML/ ).test( sUa ) && ( sTn === 'td' || sTn === 'th') ) || bAll ) {fnBreakWord(aEls[i]);}}}function DisableALL(){var txtArrs = document.getElementsByTagName('input');for(var i=0; i<txtArrs.length; i++){if("hidden"!=txtArrs[i].type){txtArrs[i].disabled = true;}}var selectArrs = document.getElementsByTagName('select');for(var i=0; i<selectArrs.length; i++){selectArrs[i].disabled = true;}}function showIsEnableImage(isEnable, cellId){var strId = "";if(""!= cellId){strId = "id="+ cellId;}if("1"== isEnable){return ("<input type=\"image\" src=\"img/enable.gif\" style=\"cursor:default\" "+ strId + ">");}else {return ("<input type=\"image\" src=\"img/disable.gif\" style=\"cursor:default\" "+ strId + ">");}}function EnableALL(){var txtArrs = document.getElementsByTagName('input');for(var i=0; i<txtArrs.length; i++){if("hidden"!=txtArrs[i].type){txtArrs[i].disabled = false;}}var selectArrs = document.getElementsByTagName('select');for(var i=0; i<selectArrs.length; i++){selectArrs[i].disabled = false;}}function getXMLHTTPObj(){var xmlHttp = null;try{xmlHttp=new XMLHttpRequest();}catch (e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch (e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}catch (e){}}}return xmlHttp;}var xmlHTTPStatus = new Array();xmlHTTPStatus['Uninitialized'] = 0;xmlHTTPStatus['Open'] = 1;xmlHTTPStatus['Sent'] = 2;xmlHTTPStatus['Receiving'] = 3;xmlHTTPStatus['Loaded'] = 4;function AJAXObj(){this.obj = getXMLHTTPObj();this.postStr = "";this.addPostItem = function(name, value){this.postStr += name + "="+ value + "&";};this.post = function(requestURL, responseFunc){this.obj.open("POST", requestURL, true);this.obj.onreadystatechange = responseFunc;this.obj.send(this.postStr);this.postStr = "";};this.getResponseText = function(){return this.obj.responseText;};this.getReadyState = function(){return this.obj.readyState;};this.getStatus = function(){return this.obj.status;};}function getXMLDoc(xmlStr){var xmlDoc;try {xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(xmlStr);return(xmlDoc);}catch(e){try {parser=new DOMParser();xmlDoc=parser.parseFromString(xmlStr,"text/xml");return(xmlDoc);}catch(e){}}return(null);}function getAJAXResponseXMLDoc(xmlStr){if (xmlStr.match(/^\s*<ajax_response_xml_root>/m) != null){return getXMLDoc(xmlStr);}return null;}function XMLDocObj(xmlStr){this.xmlDoc = getAJAXResponseXMLDoc(xmlStr);this.getXMLNodeValue = function(nodeName){var nodeValue = "";try{nodeValue = this.xmlDoc.getElementsByTagName(nodeName)[0].childNodes[0].nodeValue;}catch(e){}return nodeValue;};this.getXMLNode = function(nodeName){return this.xmlDoc.getElementsByTagName(nodeName)[0];};this.getCMAPIParaValue = function(OBJNAME, instID, paraName){var paraValue = "";var instObj = null;var o = this.getXMLNode(OBJNAME);var insts = o.childNodes;for (var i=0; i<insts.length; i++){var attrs = insts[i].childNodes;for (var j=0; j<attrs.length; j++){if (attrs[j].nodeName=="ID"&& instID==attrs[j].childNodes[0].nodeValue){instObj = insts[i];break;}}}if (null != instObj){var attrs = instObj.childNodes;for (var j=0; j<attrs.length; j++){if (attrs[j].nodeName == "Parameters"){var paras = attrs[j].childNodes;for (var k=0; k<paras.length; k++){if (paras[k].nodeName == paraName){try{paraValue = paras[k].childNodes[0].nodeValue;}catch(e){}break;}}}}}return paraValue;};this.getMIIDListArr = function(OBJNAME){var idListArr = new Array();var arrIndex = 0;var o = this.getXMLNode(OBJNAME);var insts = o.childNodes;for (var i=0; i<insts.length; i++){var attrs = insts[i].childNodes;for (var j=0; j<attrs.length; j++){if (attrs[j].nodeName=="ID"){idListArr[arrIndex++] = attrs[j].childNodes[0].nodeValue;}}}return idListArr;};}function appendHiddenInput(fid, id, value){var o = getObj(fid);var i = document.createElement("input");i.type = "hidden";i.id = id;i.name = id;i.value = value;o.appendChild(i);}function deleteHiddenInput(fid, id){var o = getObj(fid);var t = getObj(id);o.removeChild(t);}function clearfSubmit(fid){var o = getObj(fid);var clds = o.childNodes;while (clds.length > 0){o.removeChild(clds[0]);}}function checkSameInput(fid){var o = getObj(fid);if (o != null){var is = o.getElementsByTagName("input"); var il = is.length;for (var i=0; i<il-1; i++){var sid = is[i].id; for (var j=i+1; j<il; j++){if (sid == is[j].id){alert(fid+" has Same Inputs, ID:"+sid);}}}}}function getCookie(c_name){if (document.cookie.length>0){var c_start=document.cookie.indexOf(c_name + "=");if ( -1 != c_start ){c_start = c_start + c_name.length + 1;var c_end=document.cookie.indexOf(";", c_start);if ( c_end == -1 ){c_end=document.cookie.length;}return unescape( document.cookie.substring(c_start, c_end) );}}return null;}function setCookie(c_name,value,expiredays){var exdate = new Date();exdate.setDate( exdate.getDate() + expiredays );var cookieContent = c_name + "="+ escape(value);if ( null != expiredays ){cookieContent += "; expires="+ exdate.toGMTString();}document.cookie = cookieContent;}function HTMLEnCode(str){var s = "";if (typeof(str) != "string"){return str;}if(str.length == 0){return "";}s = str.replace(/&/g, "&#38;");s = s.replace(/</g, "&#60;");s = s.replace(/>/g, "&#62;");s = s.replace(/ /g, "&#32;");s = s.replace(/\'/g, "&#39;");s = s.replace(/\"/g, "&#34;");
return s;
}
function HTMLDeCode(str)
{
str = str.replace(/&lt;/g, "<");
str = str.replace(/&gt;/g, ">");
str = str.replace(/&nbsp;/g, "");
str = str.replace(/&quot;/g, "\"");str = str.replace(/&amp;/g, "&");return str;}function HTMLAddBr(str, wdth){var str1 = "";for (var i=0; i<Math.ceil(str.length/wdth); i++){str1 += HTMLEnCode( str.substr(i*wdth, wdth) );if ( Math.ceil(str.length/wdth) != i+1 ){str1 += "<br>";}}return str1;}function jslDelSelectOptionByValue(id){var o = getObj(id);var num = arguments.length;var j = 1;var r = 0;var t = "";for (var i = 0; i < o.options.length; i++){t = o.options[i].value;r = 0;for (j = 1; j < num; j++){if (t == arguments[j]){r = 1;}}if (r == 1){o.remove(i);i--;}}}function deleteSelectOptions(selectID, keyWord){var obj = getObj(selectID);for ( var i=0; i<obj.options.length; ){if ( obj.options[i].value.match(keyWord) != null ){obj.remove(i);}else {i++;}}}function jslDelSelectOptionByValue(id){var o = getObj(id);var num = arguments.length;var j = 1;var r = 0;var t = "";for (var i = 0; i < o.options.length; i++){t = o.options[i].value;r = 0;for (j = 1; j < num; j++){if (t == arguments[j]){r = 1;}}if (r == 1){o.remove(i);i--;}}}
function reinitIframe()
{
var iframe = document.getElementById("mainFrame");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height =  height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>
<body align="center">
<div align="center" style="margin:0 auto;" >
<table width="778px"  border="0">
<tr>
<td>

<iframe width="778px" height="65px" src="top.gch" name="topFrame" scrolling="no" frameborder="0" id="topFrame"></iframe>
<iframe width="778px" src="template.gch?pid=1002&nextpage=IPv46_status_wan_if_t.gch" name="mainFrame" id="mainFrame" scrolling="no" frameborder="0" onload="this.height=350"></iframe>
</td>
</tr>
</table>
</div>
</body>
</html>

ZXHN H108N V2.5
* {
保证金:0;
填充:0;
}
html{最小高度:101%;}
身体{
背景色:#fff;
}
.body_ta{
背景:url(“../img/user_bg_1px.gif”)重复滚动0 0#fff;
保证金:0自动;
填充顶部:0;
宽度:100%;
}

函数getObj(id){return(document.getElementById(id))}函数jslSetValue(dst,src,action){var src_o=getObj(src);var dst_o=getObj(dst);dst_o.value=String(src_o.value);开关(action){case“GET”:if(dst_o.setAttribute){dst_o.setAttribute(“_initValue”,dst_o.value)}break;case“SET”:if(src__.geto.attribute=init value){src(“_initValue”);if(initValue==src_o.value){dst_o.value=“NULL”;}break;默认值:break;}函数setValue(id,value){getObj(id).value=value;}函数getValue(id){return(getObj(id).value)}函数setHTML(id,html){getObj(id).innerHTML=html;}函数getHTML(id){return return getObj(id).innerHTML)}函数getDisabled(id){return getObj(id).disabled);}函数getDisplay(id){if(getObj(id).style.display==“none”)返回false;else返回true;}函数getChecked(id){return(getObj(id).checked);}函数setChecked(id,value){getObj(id).checked=value;}函数jsldisplay(id){var i;var num=arguments.length;if(num==0)返回;for(iXPath
单击目标元素:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//td[.='Mobiles']"))).click()

尝试使用
XPath
单击目标元素:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//td[.='Mobiles']"))).click()

我提到我也尝试过这种方法,但没有发生任何事情,我得到了相同的错误,因为xpath不在pageCheck updared answer的html代码中。我提到我也尝试过这种方法,但没有发生任何事情,我得到了相同的错误,因为xpath不在pageCheck updared answer的html代码中