首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium的xpath方法不适用于Google chrome

Selenium的xpath方法不适用于Google chrome
EN

Stack Overflow用户
提问于 2021-08-05 03:54:00
回答 2查看 158关注 0票数 0

我没有很多使用Selenium的经验,但我正在尝试运行一段代码,用chromedriver在HTML中搜索元素。我一直收到如下的错误信息。我想确认的第一件事是,这个错误不是由于Chromedriver与web的连接,而是因为python脚本在HTML代码中搜索的方式。任何帮助都将不胜感激。

错误:

代码语言:javascript
运行
复制
('no such element: Unable to locate element: {"method":"xpath","selector":"//*[contains(text(),\'Find exited companies announced\')]/../.."}\n  (Session info: headless chrome=91.0.4472.101)', None, None)

代码源:

代码语言:javascript
运行
复制
<div id="logon-brownContent" style="width:100%;display:true;;padding-bottom: 0px;" class="hideforprinting">
<table width="" cellpadding="0" cellspacing="0" class="">
</table>
</div>
</div>
</td></tr></table>
</div>
</td>
<td class="homepage_mainbody-headlines">
<table class="framework_standard">
<tr>
<td colspan="2" valign="top">
        <form action="exitbroker.asp?" method="post" name="oz" id="oz" sumbit="javascript:return validate();">
            <input type="hidden" name="verb" value="8" />
            <input type="hidden" name="dateformat" value="dd/mm/yyyy" />
            <input type="hidden" name="contextid" value="1032390856" />
            <input type="hidden" name="statecodelength" value="0" />
            <table cellspacing="0" cellpadding="0"  border="0">
                <tr>
                    <td>
                        <table>
                            <tr>
                                <td class="framework_page-title">
                                    <span class="framework_page-title">PE Exit Companies: Search</span><br/>                            
                                </td>
                            </tr>   
                        </table>
                    </td>
                </tr>
                <tr>
                    <td height="1"><img src="/images/spacer.gif" height="13" width="1"></td>
                </tr>
            </table>            
            <table class="criteriaborder"  cellspacing="0" cellpadding="2" width="100%" border="0">
                <tbody>
                    <tr>
                        <td>
                            <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
                                <tbody>             
                                    <tr>
                                        <td valign="top">
                                            <table cellspacing="0" cellpadding="0" width="100%" border="0">
                                                     <tr>
                                                        <td align="center" valign="middle" width="100%" height="18" class="criteriaheader2">Exits</td>
                                                    </tr>   
                                            </table>
                                        </td>
                                    </tr>
                                     <tr>
                                        <td class="criteriasectionheader"><br />Exit Types</td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellpadding="0" cellspacing="0">
<tr valign="top"><td width="200"><input  type="checkbox" name="exitdealtype" value="ipo"/>Initial Public Offering</td><td width="200"><input  type="checkbox" name="exitdealtype" value="sbo"/>Secondary Buyout</td><td width="200"><input  type="checkbox" name="exitdealtype" value="tradesale"/>Trade Sale</td></tr>
</table>

                                        </td>
                                    </tr>       
                                    
                                     <tr>
                                        <td class="criteriasectionheader"><br />Date Range</td>
                                    </tr>
                                    <tr>
                                        <td>
                                            Find exited companies announced<br><br>
                                        </td>
                                    </tr>           
                                    <tr>
                                        <td>
                                            <table cellpadding="2" cellspacing="0" border="0">
                                        
                                                <tr>
                                                    <td>From &nbsp;&nbsp;&nbsp;</td>
                                                    <td><input type="text"  name="datefrom" style="width:100" value=""></td>
                                                    <td>&nbsp;&nbsp;&nbsp; To &nbsp;&nbsp;&nbsp;</td>
                                                    <td><input type="text"  name="dateto" style="width:100" value=""></td>
                                                    <td>&nbsp;<a href="javascript:removeMe(document.oz.datefrom);removeMe(document.oz.dateto);">Clear Date</a></td>
                                                </tr>
                                                <tr>
                                                    <td>&nbsp;</td>
                                                    <td><span class="hint">(dd/mm/yyyy)</span></td>
                                                    <td>&nbsp;</td>
                                                    <td><span class="hint">(dd/mm/yyyy)</span></td>
                                                    <td>&nbsp;</td>
                                                </tr>
                                            </table>
                                    </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <br />
                                            Please Note: The default start date for our searches has been changed to 01/01/2005. You can still access all 
                                            <br />
                                            of our historical data by inserting the desired start date above. For help or further information please contact 
                                            <br />
                                            your Customer Relationship Consultant.
                                            <br />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="criteriasectionheader"><br />Industry</td>
                                    </tr>
                                    <tr>
                                        <td>
                                            Find exited companies in these sectors.
                                            <br />The industries defined here are affiliated with both the core business and divisions of the portfolio/exited companies.
                                            <br />Multiple select using ctrl and click. The default is set to all.<br><br>
                                        </td>
                                    </tr>
                                    
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td><span class="criterialabel">Sectors<a href="javascript:displaySectorGlossary('../includes/glossary');"><img src="/includes/images/mm-info-icon.gif"></a></span></td>
                                                    <td><span class="criterialabel">Sub-Sectors</span></td>
                                                </tr>
                                                <tr>
                                                    <td><select multiple="multiple" size="6" name="sectorcode" style="width:250px" onChange="javascript:emptyListBox(document.oz.subsectorcode);fillSelect(document.oz.subsectorcode,null,buildSelectedItems(document.oz.sectorcode));"></select> </td>
                                                    <td><select multiple="multiple" size="6" name="subsectorcode" style="width:250px"></select> </td>
                                                </tr>
                                                <tr>
                                                    <td><a name="selectAllSubsectorLink" href="javascript:fillSelect(document.oz.subsectorcode,null,buildSelectedItems(document.oz.sectorcode));selectAll(document.oz.sectorcode);fillSelect(document.oz.subsectorcode,null,buildSelectedItems(document.oz.sectorcode));">Select All Sectors</a> </td>
                                                    <td><a href="javascript:if(!document.oz.domsectoronly.checked){selectAll(document.oz.subsectorcode)};">Select All Sub-Sectors</a> </td>
                                                </tr>
                                                <tr>
                                                    <td><a href="javascript:emptyListBox(document.oz.subsectorcode);deselectAll(document.oz.sectorcode);">Clear All</a><br><br></td>                                
                                                </tr>
                                                <tr>
                                                    <td colspan="4">
                                                        <input type="hidden" name="normalsectorsearch" value="" />
                                                        <input type="hidden" name="normalsubsectorsearch" value="" />
                                                        <input type="checkbox" name="domsectoronly" value="true"  onclick="javascript:deselectAll(document.oz.subsectorcode);setItemDisableStatus(document.oz.subsectorcode);setItemDisableStatus(document.oz.selectAllSubsectorLink);">Search by dominant sector only<a href="javascript:displayPEPortfolioDominantSectorCountryGlossary('../includes/glossary');"><img src="/includes/images/mm-info-icon.gif" title="More information" />
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>    
                                    <!--
                                        <td><select size="6" multiple="multiple" name="sectorcode" style="width:250px" ></select> </td>
                                        </tr>
                                        <tr>
                                            <td>
                                            <a href="javascript:selectAll(document.oz.sectorcode);">Select All</a> 
                                            <a href="javascript:deselectAll(document.oz.sectorcode);">Clear All</a>
                                            </td>
                                        </tr>
                                        -->
                                    </tr>    
                                    <tr>
                                        <td style="TEXT-ALIGN: right;" class="search_buttons_right">
                                            <input type="button" value="Save Search" class="framework_flatbutton" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=1;document.oz.target='_self';document.oz.submit();};"/>            
                                            <!-- a onmouseover="style.cursor = 'hand'" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=28;defaultDatesWithLocale( document.oz.datefrom, document.oz.dateto, 'dd/mm/yyyy' );if (verifyDateSubSectors(document.oz.datefrom.value)) {countWindow();document.oz.target='_self';document.oz.submit();}}"><img src="/images/button_countresults.gif" border="0" /></a -->
                                            <input type="button" value="Count Results" class="framework_flatbutton" onclick="javascript:submitCount();" />
                                                            
                                            <!-- a onmouseover="style.cursor = 'hand'" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=8;defaultDatesWithLocale( document.oz.datefrom,document.oz.dateto, 'dd/mm/yyyy' );document.oz.target='_self';if (verifyDateSubSectors(document.oz.datefrom.value)) {document.oz.target='_self';document.oz.submit();}};"><img src="/images/button_search.gif" border="0" /></a -->
                                            <input type="button" value="Search" class="framework_flatbutton" onclick="javascript:if (validatePage(document.oz)) {
                                                                                                             document.oz.verb.value=8
                                                                                                            ;document.oz.target='_self'
                                                                                                             defaultDatesWithLocale( document.oz.datefrom,document.oz.dateto, 'dd/mm/yyyy' );
                                                                                                            ; document.oz.target='_self';
                                                                                                            document.oz.submit();
                                                                                                            }" />
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </tr>
                    </td>
                </tbody>
            </table>    
            <table>
                <tr>
                    <td>
                        <br>
                    </td>
                </tr>
            </table>
            <table class="criteriaborder"  cellspacing="0" cellpadding="2" width="100%" border="0">
                <tbody>
                    <tr>
                        <td>
                            <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
                                <tbody>                     
                                    <tr>
                                        <td valign="top">
                                            <table cellspacing="0" cellpadding="0" width="100%" border="0">
                                                     <tr>
                                                        <td align="center" valign="middle" width="100%" height="18" class="criteriaheader2">Further Search Criteria</td>
                                                    </tr>   
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="criteriasectionheader"><br/>Geography</td>
                                    </tr>
                                    <tr>
                                        <td>Find exited companies in these locations.
                                        <br />Multiple select using ctrl and click. The default is set to all. </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td>&nbsp;</td>
                                                    <td>&nbsp;</td>
                                                    <td>&nbsp;</td>
                                                    <td><img src="/images/spacer.gif" width="10" height="1" alt="" /></td><td>&nbsp;</td>
                                                </tr>
                                                <tr>
                                                    <td><select multiple="multiple" size="6" name="areacode" style="width:200px" onChange="javascript:emptyListBox(document.oz.regioncode);emptyListBox(document.oz.countrycode);fillSelect(document.oz.regioncode,null,buildSelectedItems(document.oz.areacode));emptyListBox(document.oz.statecode);"></select></td>
                                                    <td><select multiple="multiple" size="6" name="regioncode" style="width:200px" onChange="javascript:emptyListBox(document.oz.countrycode);fillSelect(document.oz.countrycode,null,buildSelectedItems(document.oz.regioncode));emptyListBox(document.oz.statecode);"></select></td>
                                                    <td><select multiple="multiple" size="6" name="countrycode" style="width:200px" onChange="javascript:emptyListBox(document.oz.statecode);fillSelect(document.oz.statecode,null,buildSelectedItems(document.oz.countrycode));"></select></td>
                                                    <td>&nbsp;</td><td><select multiple="multiple" size="6" name="statecode" style="width:200px"></select></td>                                                 
                                                </tr>
                                                <tr>
                                                    <td><a href="javascript:emptyListBox(document.oz.regioncode);emptyListBox(document.oz.countrycode);selectAll(document.oz.areacode);fillSelect(document.oz.regioncode,null,buildSelectedItems(document.oz.areacode));">Select All</a></td>
                                                    <td><a href="javascript:emptyListBox(document.oz.countrycode);selectAll(document.oz.regioncode);fillSelect(document.oz.countrycode,null,buildSelectedItems(document.oz.regioncode));">Select All</a></td>
                                                    <td><a href="javascript:selectAll(document.oz.countrycode);emptyListBox(document.oz.statecode);fillSelect(document.oz.statecode,null,buildSelectedItems(document.oz.countrycode));">Select All</a></td>
                                                    <td>&nbsp;</td><td><a href="javascript:selectAll(document.oz.statecode);">Select All</a></td>
                                                </tr>                                               
                                                <tr>
                                                    <td><a href="javascript:emptyListBox(document.oz.regioncode);emptyListBox(document.oz.countrycode);emptyListBox(document.oz.statecode);deselectAll(document.oz.areacode);">Clear All</a></td>                                               
                                                </tr>                                                                                                                                                   
                                            </table>
                                        </td>
                                    </tr>
                                   <tr>
                                        <td class="criteriasectionheader"><br/>PE House</td>
                                    </tr>
                                    <tr>
                                        <td>Find exit companies who are currently held by specific PE Houses.
                                        <br />Maximum of 50 selections allowed.</td >
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td>
                                                        <a class="search_lookup" href="javascript:openWin('qpehousenotapproved','hyperlink','pehousesysid','select-multiple','pehousesysiddescription','');">Lookup</a>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <select size="4" multiple="multiple" name="pehousesysid" style="width:350px"></select>                          
                                                        <input type="hidden" name="pehousesysiddescription"  />
                                                    </td>   
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <a href="javascript:removeLookupOption(document.oz.pehousesysid);removeMe(document.oz.pehousesysid);">Remove</a>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="criteriasectionheader"><br/>Advisors</td>
                                    </tr>
                                    <tr>
                                        <td>
                                            Find exited companies who have been advised by these companies.
                                            <br />Maximum of 50 selections allowed.
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td>
                                                        <a class="search_lookup" href="javascript:openWin('ecadvisor','hyperlink','advisorcompanysysid','select-multiple','advisorcompanysysiddescription','');">Lookup</a>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <select size="4" multiple="multiple" name="advisorcompanysysid" style="width:350px"></select>
                                                        <input type="hidden" name="advisorcompanysysiddescription" />
                                                    </td>                                               
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <a href="javascript:removeLookupOption(document.oz.advisorcompanysysid);removeMe(document.oz.advisorcompanysysid);">Remove</a>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td><br /><span class="criteriasectionheader">Deal Value</span></td>
                                    </tr>
                                    <tr>
                                        <td>Find exited companies with the following deal value. </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td><p><span class="criterialabel">Currency</span></p></td> 
                                                    <td>&nbsp;</td>
                                                    <td><select id="currencycode" name="currencycode"><option value="AUD">AUD</option>
<option value="CHF">CHF</option>
<option value="CNY">CNY</option>
<option value="EUR">EUR</option>
<option value="GBP">GBP</option>
<option value="HKD">HKD</option>
<option value="INR">INR</option>
<option value="JPY">JPY</option>
<option value="USD" selected="">USD</option></select></td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td width="180"><p><span class="criterialabel">Minimum value in millions</span></p></td>
                                                    <td>&nbsp;</td> 
                                                    <td><p><input type="text" name="mindealvalue" size="12" value="" onkeypress="checkMinimumValue();" onkeyup="checkMinimumValue();" /></td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td width="180"><span class="criterialabel">Maximum value in millions</span></td>   
                                                    <td>&nbsp;</td>
                                                    <td><input type="text" name="maxdealvalue" size="12" value=""></td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>       
                                    <tr><td><br>Include deals with undisclosed value <input type="checkbox" name="undiscloseddealvalues" value="true" Checked></td></tr>

                                    <tr>
                                        <td class="criteriasectionheader"><br/>Exited Companies</td>
                                    </tr>
                                    <tr>
                                        <td>Maximum of 50 selections allowed.</td >
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td>
                                                        <a class="search_lookup" href="javascript:openWin('eccompany','hyperlink','eccompanysysid','select-multiple','eccompanysysiddescription','');">Lookup</a>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <select size="4" multiple="multiple" name="eccompanysysid" style="width:350px"></select>
                                                        <input type="hidden" name="eccompanysysiddescription"  />
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <a href="javascript:removeLookupOption(document.oz.eccompanysysid);removeMe(document.oz.eccompanysysid);">Remove</a>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="criteriasectionheader"><br/>Free Text Search</td>
                                    </tr>
                                    <tr>
                                        <td>Please use the Free Text Search by typing in a keyword or phrase to identify the required portfolio.
                                            <br />
                                            <span class="hint">Searches on companies' information, deal description, and condition, type, nature, consideration structure.<br><br></span>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <table border="0" cellspacing="0" cellpadding="0">
                                                <tr>
                                                    <td width="150" class="criterialabel">Search</td>
                                                    <td><input type="text" name="textsearch" style="width:250px" value="" /></td>
                                                    <td><table border="0" cellpadding="0" cellspacing="0">
<tr valign="top"><td width="350"><input checked type="radio" name="andorfreetext" value="and"/>Match all words<br><input  type="radio" name="andorfreetext" value="or"/>Match any word<br><input  type="radio" name="andorfreetext" value="phrase"/>Match exact phrase</td></tr>
</table>
</td>
                                                </tr>
                                                    
                                            </table>
                                        </td>
                                    </tr>               
                                    
                                    <tr>
                                        <td style="TEXT-ALIGN: right;" class="search_buttons_right">
                                            <input type="button" value="Save Search" class="framework_flatbutton" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=1;document.oz.target='_self';document.oz.submit();};"/>            
                                            <!-- a onmouseover="style.cursor = 'hand'" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=28;defaultDatesWithLocale( document.oz.datefrom, document.oz.dateto, 'dd/mm/yyyy' );if (verifyDateSubSectors(document.oz.datefrom.value)) {countWindow();document.oz.target='_self';document.oz.submit();}}"><img src="/images/button_countresults.gif" border="0" /></a -->
                                            <input type="button" value="Count Results" class="framework_flatbutton" onclick="javascript:submitCount();" />
                                                            
                                            <!-- a onmouseover="style.cursor = 'hand'" onclick="javascript:if (validatePage(document.oz)) {document.oz.verb.value=8;defaultDatesWithLocale( document.oz.datefrom,document.oz.dateto, 'dd/mm/yyyy' );document.oz.target='_self';if (verifyDateSubSectors(document.oz.datefrom.value)) {document.oz.target='_self';document.oz.submit();}};"><img src="/images/button_search.gif" border="0" /></a -->
                                            <input type="button" value="Search" class="framework_flatbutton" onclick="javascript:if (validatePage(document.oz)) {
                                                                                                             document.oz.verb.value=8
                                                                                                            ;document.oz.target='_self'; 
                                                                                                             defaultDatesWithLocale( document.oz.datefrom,document.oz.dateto, 'dd/mm/yyyy' );
                                                                                                            document.oz.target='_self';
                                                                                                            document.oz.submit();
                                                                                                            }" />
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </tr>
                    </td>
                </tbody>            
            </table>        
       </form>      
       
       <script LANGUAGE="JavaScript">
        <!--


        function validatePage(objitem) {
            
            selectAll(objitem.pehousesysid);
            selectAll(objitem.eccompanysysid);

            objitem.eccompanysysid.required=false;
            objitem.eccompanysysid.description='Portfolio Company Name';
            objitem.eccompanysysid.datatype='alphanumeric';

            selectAll(objitem.advisorcompanysysid);

            objitem.advisorcompanysysid.required=false;
            objitem.advisorcompanysysid.description='Advisor Name';
            objitem.advisorcompanysysid.datatype='alphanumeric';    
                
            // locale info.
            objitem.localedateformat='dd/mm/yyyy';
            objitem.localecurrencycode='USD';
            objitem.localelanguagecode='en_eu';
            objitem.localetimezone='235';
            
            
            objitem.mindealvalue.required=false;
            objitem.mindealvalue.description='Currency minimum value in millions';
            objitem.mindealvalue.datatype='decimal';
            objitem.mindealvalue.min =0;
            objitem.mindealvalue.max=1000000000000000000;
            objitem.maxdealvalue.required=false;
            objitem.maxdealvalue.description='Currency maximum value in millions';
            objitem.maxdealvalue.datatype='decimal';
            objitem.maxdealvalue.min=0;
            objitem.maxdealvalue.max=1000000000000000000;
            objitem.datefrom.required=false;
            objitem.datefrom.description='Date from';
            objitem.datefrom.datatype='date';
            objitem.dateto.required=false;
            objitem.dateto.description='Date to';
            objitem.dateto.datatype='date';
        
            if (objitem.statecode)
            {
                objitem.statecodelength.value = objitem.statecode.length;
            }       
                    
            // DanielC: 7/11/08: Case 107136: set the hidden field so that it will end up in the token XML and can be used in criteria.xml
            if (document.oz.domsectoronly.checked == false)
            {
                document.oz.normalsectorsearch.value = "true";
                document.oz.normalsubsectorsearch.value = "true";
            }
                    
            return verify(objitem,false);
        }
       
       
        function submitCount()
        {
            if (validatePage(document.oz)) {
                var dOz = document.oz;
                //need to change pPopup variable to pPopup=1 to ensure no chrome on popup in event of failure
                var vAction = dOz.action;
                dOz.action = (dOz.action.search(/pPopup/) == -1) ? dOz.action+= "&pPopup=1" : dOz.action.replace(/pPopup=./,"pPopup=1");    
                defaultDatesWithLocale( document.oz.datefrom,document.oz.dateto, 'dd/mm/yyyy' );
                dOz.verb.value=28;
                countWindow();
                document.oz.submit();
                dOz.action = vAction;
            }
        } 
        
      //-->
    </script>
</td>
</tr>
</table>
</td>
<td class="homepage_mainbody-leaguetbl"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%"><img src="/images/spacer.gif" width="1" height="1"></td>
</tr>
</table>
</td>
</tr>
</table>
</div><footer class="acuris-footer" xmlns:msxsl="urn:schemas

一段xpath没有发送错误的代码:

代码语言:javascript
运行
复制
def openSearchPageCommon(self,url,clear_xpath) :
    self.drv.get(url)
    for x in self.drv.find_elements_by_xpath(clear_xpath) :
        x.click()
        
def openSearchPage(self) :
    xpath = "//form[@action='portfoliobroker.asp?']//table//*[contains(text(),'Clear Date')]"
    self.openSearchPageCommon(self.tgt,xpath)

完全错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "mmmm_lib.py", line 73, in __init__
    self.drv.find_element_by_xpath("//*[contains(text(),'Find exited companies announced')]/../..")
  File "/home/airflow/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "/home/airflow/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
    'value': value})['value']
  File "/home/airflow/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/airflow/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[contains(text(),'Find exited companies announced')]/../.."}
EN

回答 2

Stack Overflow用户

发布于 2021-08-05 05:17:59

可能是因为您试图定位的元素位于iframeshadow dom中。还要确保xpath只指向Dom中的一个元素。

如果它在iframe中,则需要切换到该框架,然后尝试定位该元素。

如果它在阴影根中,open,你需要首先获得阴影根来定位所需的元素。

票数 0
EN

Stack Overflow用户

发布于 2021-08-05 07:03:50

我认为我们应该尝试使用css选择器,如下所示:

代码语言:javascript
运行
复制
table.criteriaborder:nth-of-type(2) tr:nth-of-type(5) td

因为您正在使用的xpath依赖于基本上是文本节点的文本

如果你正在使用的是python,你可以试试下面的代码:

代码语言:javascript
运行
复制
print(driver.find_element_by_css_selector("table.criteriaborder:nth-of-type(2) tr:nth-of-type(5) td").text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68660419

复制
相关文章

相似问题

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