繁体   English   中英

org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:无法找到表格标签内的元素

[英]org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: not able to locate the element inside table tag

我试图找到表格标签中存在的元素但是我得到了错误

"org.openqa.selenium.NoSuchElementException: 没有这样的元素: 无法定位元素: {"method":"xpath","selector":"//div[@id='divTable']/child::div/child ::div/child::table/child::tbody/child::tr/child::td 2 /input"} (会话信息: chrome=103.0.5060.114)"

这是我的代码....

@Test (priority=8)
public void autogenerate() throws InterruptedException
{
    driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@id='axpiframe']")));
    WebElement autogenerate= driver.findElement(By.xpath("//body/div[@id='dvlayout']/div[@id='pagebdy']/div[@id='heightframe']/div[@id='wBdr']/div[@id='myModal']/div[1]/div[1]/div[2]/div[1]/ul[1]/li[9]/a[1]"));
    click(driver, autogenerate, 20);
    WebElement fieldname= driver.findElement(By.xpath("//input[@id='name000F1']"));
    sendkeys(driver, fieldname, 20, "autotime");
    WebElement fieldcaption= driver.findElement(By.xpath("//input[@id='caption000F1']"));
    click(driver, fieldcaption, 20);
    WebElement defsequence= driver.findElement(By.xpath("//input[@id='Def_Sequence000F2']"));
    click(driver, defsequence, 20);
    WebElement icon= driver.findElement(By.xpath("//body/div[@id='dvlayout']/div[@id='pagebdy']/div[@id='heightframe']/div[@id='wBdr']/div[@id='wbdrHtml']/div[@id='DivFrame2']/div[@id='divDc2']/div[@id='randomID_212']/div[@id='dvDef_Sequence']/div[2]/div[1]/i[1]"));
    click(driver, icon, 20);
    Thread.sleep(5000);
    
    
    WebElement prefix= driver.findElement(By.xpath("//div[@id='divTable']/child::div/child::div/child::table/child::tbody/child::tr/child::td[2]/input"));
    sendkeys(driver, prefix, 20, "AM");

}

这是HTML....

 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta charset="utf-8" /><meta name="description" content="Table" /><meta name="keywords" content="Agile Cloud, Axpert,HMS,BIZAPP,ERP" /><meta name="author" content="Agile Labs" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title> Table </title><link href="../Css/thirdparty/bootstrap/3.3.6/bootstrap.min.css" rel="stylesheet" type="text/css" /><link href="../ThirdParty/gridstack.js-0.3.0/dist/gridstack.css" rel="stylesheet" type="text/css" /><link href="../Css/thirdparty/jquery-ui/1.12.1/jquery-ui.min.css" rel="stylesheet" type="text/css" /><link href="../Css/thirdparty/jquery-ui/1.12.1/jquery-ui.structure.min.css" rel="stylesheet" type="text/css" /><link href="../Css/thirdparty/jquery-ui/1.12.1/jquery-ui.theme.min.css" rel="stylesheet" type="text/css" /><link href="../ThirdParty/jquery-confirm-master/jquery-confirm.min.css" rel="stylesheet" type="text/css" /><link href="../ThirdParty/DataTables-1.10.13/media/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css" /><link href="../Css/Icons/icon.css" rel="stylesheet" type="text/css" /><link href="../Css/thirdparty/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" /><link href="../ThirdParty/codemirror/codemirror.css" rel="stylesheet" type="text/css" /><link href="../Css/jquery-ui-timepicker-addon.min.css" rel="stylesheet" type="text/css" /><link href="../Js/jquery.timeentry.package/jquery.timeentry.css" rel="stylesheet" type="text/css" /><link href="../Css/globalStyles.min.css?v=35" rel="stylesheet" type="text/css" /><link href="../Css/wizardComp.min.css?v=17" rel="stylesheet" type="text/css" /><link href="../css/ExportNew.min.css?v=32" rel="stylesheet" type="text/css" /><link href="../Css/import.min.css?v=30" rel="stylesheet" type="text/css" /><link href="../Css/responsibilties.min.css?v=10" rel="stylesheet" type="text/css" /><link href="../Css/propSheet.min.css?v=3" rel="stylesheet" type="text/css" /><link href="../Css/msgBoxLight.css" rel="stylesheet" type="text/css" /><link href="../Css/tstructNewUi.min.css?v=59" rel="stylesheet" type="text/css" /><link href="../Css/animate.min.css" rel="stylesheet" type="text/css" /><link href="../ThirdParty/bootstrap-tokenfield/dist/css/bootstrap-tokenfield.min.css" rel="stylesheet" type="text/css" /><link href="../newPopups/Remodal/remodal-default-theme.min.css" rel="stylesheet" type="text/css" /><link href="../newPopups/Remodal/remodal.min.css" rel="stylesheet" type="text/css" /><link href="../Css/axpertPopup.min.css?v=22" rel="stylesheet" type="text/css" /> <script> if (!('from' in Array)) { // IE 11: Load Browser Polyfill document.write('<script src="../Js/polyfill.min.js"><\/script>'); } </script> <script type="text/javascript"> var FetchPickListRows = 1000; </script> <script src="../Js/thirdparty/jquery/3.1.1/jquery.min.js"></script> <script src="../ThirdParty/DataTables-1.10.13/media/js/jquery.dataTables.min.js"></script> <script src="../ThirdParty/DataTables-1.10.13/media/js/dataTables.bootstrap.min.js"></script> <script src="../Js/jquery.browser.min.js"></script> <script src="../Js/printjs.min.js"></script> <script src="../ThirdParty/jquery-confirm-master/jquery-confirm.min.js"></script> <script src="../Js/noConflict.min.js"></script> <script type="text/javascript" src="../Js/iFrameHandler.min.js"></script> <script src="../Js/propSheet.min.js"></script> <script src="../Js/jquery.timeentry.package/jquery.timeentry.min.js"></script> <script src="../Js/alerts.min.js?v=28"></script> <script src="../Js/jQueryUi/jquery.tablesorter.min.js"></script> <script src="../ThirdParty/bootstrap-tokenfield/dist/bootstrap-tokenfield.min.js"></script> <script src="../Js/common.min.js?v=85"></script> <script src="../Js/ckeditor/ckeditor.js?v=1"></script> <script src="../Js/ckRtf.js"></script> <script src="../Js/JDate.min.js"></script> <script src="../Js/thirdparty/bootstrap/3.3.6/bootstrap.min.js"></script> <script src="../Js/thirdparty/jquery-ui/jquery-ui-autoCom/jquery-ui-autoCom.min.js"></script> <script src="../Js/jquery-ui-timepicker-addon.min.js"></script> <script src="../ThirdParty/lodash.min.js"></script> <script src="../ThirdParty/gridstack.js-0.3.0/dist/gridstack.js"></script> <script src="../ThirdParty/gridstack.js-0.3.0/dist/gridstack.jQueryUI.js"></script> <script src="../Js/jquery.msgBox.min.js"></script> <script src="../Js/jQueryUi/jquery.scrollabletab.min.js"></script> <script src="../Js/tstructvars.min.js?v=52"></script> <script src="../Js/md5.min.js"></script> <script src="../Js/adjustwindow.js"></script> <script src="../Js/wizardComp.js"></script> <script src="../Js/tstruct.min.js?v=383"></script> <script src="../Js/util.min.js"></script> <script src="../Js/tstruct-pdf.min.js"></script> <script src="../newPopups/Remodal/remodal.min.js"></script> <script src="../newPopups/axpertPopup.min.js?v=45"></script> <script src="../Js/handlebars.min.js?v=1"></script> <script src="../Js/tstTable.min.js?v=9"></script> </head> <body> <form name="form1" method="post" action="./tsttable.aspx?fldId=Def_Sequence000F2" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="3/epi2NOzZ4VmPo7Vmb+TxMGr70gGKys52QAMmeXvG5Lm3qOhrp7iFXHzQfiwsoUdicOkkwYT2rQ2QwYZWzysVJHmx3z88zoVTV22f99lx4=" /> </div> <div> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="7F438B0E" /> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="pZzJrDUxojFaoW1Xwo0BH7CLYZ2J12wPy/QjMK/JiLqwgeSvxBXWAXBmmIiK8LOyUv9Im74lsN5ecTx48/KdfR2puWHi3mg5Z9FaulZsR1nEfrwhpsISz3BpohI5R2+u" /> </div> <div id="divTable"> </div> <input type="hidden" name="hdnfieldId" id="hdnfieldId" value="Def_Sequence000F2" /> </form> </body> </html>

这是页面源......

页面来源图片

日食错误

我们可以看到元素之前有一帧所以首先切换到帧然后使用下面的xpath进行表值输入

driver.switchTo().frame("iframeDefineSequence");
WebElement prefix= driver.findElement(By.xpath("//input[@name='prefixtxt']"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM