首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒- NoSuchElementException

硒- NoSuchElementException
EN

Stack Exchange QA用户
提问于 2018-09-27 09:53:24
回答 2查看 1.2K关注 0票数 -1

这是我的HTML代码

代码语言:javascript
复制
        下面是错误,线程“main中的异常”    org.openqa.selenium.NoSuchElementException:
    Element info: {Using=xpath, value=//span[@class='input-group-btn gosearch-btn']}
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216)
        at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:635)
        at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:368)
        at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:473)
        at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
        at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:360)
        at PncSite.EnterSite.main(EnterSite.java:35)谢谢你的更新。我试过使用xpath,但它不起作用。它显示了同样的错误。这是HTML代码和屏幕截图。    
        
            
                Customer
                
            
             
                
                    Customer
                
    
                
                $(document).ready(function() 
                {
                    var eleId = 'customerNameFilter';
                    var searchTmpId = '504417871974215089';
                    var screenUrl = '/wbs/template/customer.jsp';
                    var searchField = 'customer.company_name_uc';
                    var parInputGroup= $("#"+eleId).parents("div.input-group:first");
                    
                    if(parInputGroup!=undefined &&parInputGroup.length>0)
                    {
                        var parId = $(parInputGroup).attr("id");
                        window[parId].addSearchFilter(eleId,searchField,searchTmpId,screenUrl);
                    }
                });
                
                
                    Customer No.
                
                
                
                $(document).ready(function() 
                {
                    var eleId = 'customerFilter';
                    var searchTmpId = '504417871974215089';
                    var screenUrl = '/wbs/template/customer.jsp';
                    var searchField = 'customer.entity_no';
                    var parInputGroup= $("#"+eleId).parents("div.input-group:first");
                    
                    if(parInputGroup!=undefined &&parInputGroup.length>0)
                    {
                        var parId = $(parInputGroup).attr("id");
                        window[parId].addSearchFilter(eleId,searchField,searchTmpId,screenUrl);
                    }
                });
                
                
                
                    Request No.
                
                
                
                $(document).ready(function() 
                {
                    var eleId = 'finreqFilter';
                    var searchTmpId = '2993108337328648426';
                    var screenUrl = '/wbs/template/finance_request.jsp';
                    var searchField = 'finance_request.entity_no';
                    var parInputGroup= $("#"+eleId).parents("div.input-group:first");
                    
                    if(parInputGroup!=undefined &&parInputGroup.length>0)
                    {
                        var parId = $(parInputGroup).attr("id");
                        window[parId].addSearchFilter(eleId,searchField,searchTmpId,screenUrl);
                    }
                });
                
                
                    Transaction No.
                
                
                
                $(document).ready(function() 
                {
                    var eleId = 'trxFilter';
                    var searchTmpId = '7785538818744716350';
                    var screenUrl = '/wbs/template/financial_trx_details.jsp';
                    var searchField = 'financial_trx.entity_no';
                    var parInputGroup= $("#"+eleId).parents("div.input-group:first");
                    
                    if(parInputGroup!=undefined &&parInputGroup.length>0)
                    {
                        var parId = $(parInputGroup).attr("id");
                        window[parId].addSearchFilter(eleId,searchField,searchTmpId,screenUrl);
                    }
                });
EN

回答 2

Stack Exchange QA用户

发布于 2018-09-27 13:14:10

根据上面提供的HTML代码,搜索文本框似乎是在扩展的下拉列表中。因此,我们必须确保在定位'Search‘元素的同时,仍然打开下拉列表。

您可以使用下面提到的定位器,我们通常在自动化测试中使用。根据我们对HTML代码的理解,您可以使用以下定位器:

For输入文本:

代码语言:javascript
复制
driver.findElement(By.xpath("//input[@id='footerSearch']").sendKeys("searchText");

Click搜索图标:

代码语言:javascript
复制
driver.findElement(By.xpath("//input[@id='footerSearch']/following-sibling::span[@class='input-group-btn gosearch-btn']").click();

希望你的问题能得到解决。此外,如果你仍然面临任何问题,请提供屏幕截图的UI与HTML代码的下拉,以便我们可以提供更多的输入。

票数 0
EN

Stack Exchange QA用户

发布于 2018-09-28 09:31:03

  • 请确保在尝试输入搜索文本时打开下拉菜单。
  • 尝试在按住下拉菜单之后添加Thread.sleep(),有时菜单会被延迟打开,因此驱动程序找不到一个元素。
  • 驱动程序在搜索字段中输入搜索文本了吗?
票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/35816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档