Проблемы с утилитой поиска объектов ASP.NET - Selenium - PullRequest
0 голосов
/ 18 октября 2019

Я новичок в python, и я пытаюсь превратить его в сайт ASPX. На этой странице я получил два типа результатов: пустые и результаты. Мой код может получить пустые, но я не могу получить результаты, когда они существуют, я пробую все виды путей и все еще не могу получить результат,

Кто-нибудь может мне помочь?

вот мой код

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import openpyxl
from openpyxl import load_workbook

planilha = load_workbook('./BASE 05-09.xlsx')
driver = webdriver.Chrome(executable_path=r'C:\Python37\webdriver\chromedriver.exe')
wait = WebDriverWait(driver, 10)

sheet = planilha['Aba1']
driver.get("http://www1.cfc.org.br/sisweb/siscnai/externaConsultaCadastro.aspx")

for Count in range(2, 1101):
    driver.find_element_by_id("ContentPlaceHolder1_tbxCPF").send_keys(sheet.cell(row=Count, column=5).value, Keys.RETURN)

    results = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "table[id*='ContentPlaceHolder1_gvwProfissional'] > tbody > tr")))
    resultado_pesquisa = results[0].text.strip() if "ContentPlaceHolder1_gvwProfissional" in results[0].get_attribute("class") else results[0].find_element_by_xpath("./td[1]").text.strip()

    driver.find_element_by_id("ContentPlaceHolder1_tbxCPF").clear()

    sheet.cell(row=Count, column=7).value = resultado_pesquisa
    planilha.save("BASE 05-09.xlsx")

driver.quit()

вот код страницы, когда я получаю результаты, я хочу получить "5433"

<html>
<head id="Head1"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /><title>
    CNAI
</title></head>
<body>
    <form method="post" action="externaConsultaCadastro.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="AM7kGtthPHcCeQeZ3wWqQvzOI0fCr5HN29F2i/xZ5Ix7EkcYSSc9FlCfCcbHtX2Qulw1TLFpz/+RNvGQPU1/OqZpxByvUPSE2gaVonfaQsQn7zvoossHNNUDTiQmHv9XT5KkXiFi4Oa2B2Ix/MNkWIIw86rgaBK3NhQHUE7S+DsAlvsqZ1sy59fb1+/d/FF32dYRXcocqfcP4TL8ZtLhlRKt3rP1C+kS8/CkywxSTqBxQQ3h52z9Fm9dxcfjgHXQzisjVQuYhYWPnV6gcfJU2r9Hed49Zmx/mC4ydsTI7mbNpVYbwi4AqZKQvg0KAa+K+5ZLto2yg61qut6rUG0HyrpY5yOQk5XEH/BfK8qYoHbouJbYY9mbMwspkzg0bkNSFPz1dG45NLdibrvGoO5PSrHOzJpZhTufdzUPu5gVpUhlhrpU98c8ZzHJjS07xBZ72BwPp1eb1e9hPwUuPkD+SQ7w4ekSdaFVqUi2dWVP+uTcgL8pISRKt7viiraxvarsnQBiuyI7I+8gIMb5KMP0rB6R/AIKHNZZJI9fFipjabgtixU/+c5qsCvT1yLxx9XhO+nLBdYtgxOXuhjZ1dQ2DGe5E19ypAYDcqyGJotx4xQwXjMyYAhKLCWwZV9hPFVuQ3I/FRkI9u4+zWB782qmVkRZPl8Hde5wHrOW4V1DfxQz0191Ti+esid2SicQZZReSA1U5l1rv7qtKfWx+5nSJRdP13Z/vZVazAdpq1N6r2WzSOaDaa/1To87twg4kZP8kz/7VHU6fIoGIrrovke0XWvgsKiOUa9xqQ4fiW+Dl7HB1JrnLOPENKOnvmFfaI0DnWbKuWwB0CBao2pzxUtpd5Up195UesvowkUjNq4GgtsYo3I4NRag/M0ALN+0zz+3XVoqKzWHMWcy0yGJtbHcR5B++S66UlJOKdX0mGS6swfHz5twjLIOYxiuhRN6PBX0ZukZajaoRH3/GfN/kaj2GykyeVvhd+ds+qIpWKz+7d9PKqkwZiQLbXgaY3YjxjS9LpHseL5bAJkEMnundiHnjMVpjt0fZARNugggeEbei0xNntXUltc5A8xqQ3O5LXmUsw+i9QpsGcb5rFPO6ybOwAchyvZckeuEWsNC+blZY9iybQzGR7dyI1XhMHnJyEPvodso2tqwzVP/R4W9jMcUhr/V6gOnztsvGUnY6dfEW949ep9x9kkVPNJIpabJF1Cmgl/SVVm1/4TR7FZPx0PNpgyeieHvL0ieRSdlwgcuJm/rrgpNT8ka8u40I3PZB05288oTVagKY2fwdLUiU4gE9E2PSzyi/i224cjSPZ9b+yrnJz+Kn27Q+spsgzo0WW6QkwtxZx2hJ5q2n1WQRICU9oVmCY1BLyUxdIHq2jcb0gQ=" />
</div>

<script src='masks.js'></script>
<div class="aspNetHidden">

    <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="8EDkWLerXUVmMKlcXe/qqVujpBci2zX1ECnhJ4g+15vGRAo3rFrF5XP2X12Kr6nfAFlOpsUn3Sk/WM9LlAM0W+s6+LTZ6pSJUuUQu6ct75AmlJs+cWh7RTtWu1D6Arg8HDLFWhdvHDK/0sPW+VZ2wM58r+zcvQx/1wJmx/xkhtWuh0gkFFHVfq6zEAaL4SEnWvfH0wF5JZtGdnWgKhq0PQPkQPCk4gwWjZf9UJWX/I7BMFZetip0QShBtkQKaYFPyQ1riFre9eizciXNPJYrSU42IhZGnEWK4CCOBKetrpMTHaJiO2/lCpYWtMiMArUqeJz6gicoZc/q4GF6bgWAYIT+ItMiQC6N5eQFhwwGgKr/oRDush9H1IKBmg2kty1juv54o20yTrR19urRTyMut35n55+dHkkbMc2QKouXCKGrxXNE7t8/tOhAbaV+56FJjYFydcxrvWCpOKJzy5By3QR6xl4RPAFZrcAP5qGsSxugndJVM8lbgneoQEqjceeC8b8BFcZOSYIPOLD0CRAOSXD9FljgX8N5yz1RkJkOvYPpi6TIjugrILSgXMJtOx1BKfSL7vmYLVmm8hAHGssGnQXfBWnCqTu7e242s6TUotUbIuiJKFGpGhXnzbleDqXBMxjXLbOHQgsMxDPw9SoZYEVgtA2DZMfDWobpetTeQTc/ykyDmwXyCS9q+VK6seNRtFUIG62lVnzlMloIvGIWZkm7RVpz+FdtVXo75qAotGIhzDMhnbw1tvSW+huEdnBllFEJDedPdiUTM8ONKdkdaKsDbpPDI/K3vXGvc9V8t1MKihxXD42SPHdhzhSUNmsB6uxgOFP4iXBSATzdLBDD5FaaoJI/EaLVzSCpQGAMNwHilXBGMo97h77TLSnQu8x1adkEFUmkF/wmiQcyzEHhmxwI/bY7lKdtELEDO4JOP3g=" />
</div>
    <div>
        &nbsp;<table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" style="height: 68px; width: 801px;">
                    <img src="Imagens/banner_cnai_externo.jpg" /></td>
            </tr>
            <tr>
                <td colspan="2" style="width: 801px; height: 232px;">

<div align=center>
    <br />
    <table style="font-weight: bold; font-size: 12pt; width: 800px; color: white; font-family: verdana;
        height: 7px; background-color: firebrick">
        <tr>
            <td>
                CONSULTAR CADASTRO CNAI</td>
        </tr>
    </table>
    <br />
    <span style="font-size: 10pt; color: red; font-family: Verdana"><strong>Utilize <span
        style="text-decoration: underline">qualquer um</span> dos campos abaixo para fazer
        a pesquisa:</strong></span><br />
    <br />
    <table>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Nome:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNome" type="text" maxlength="100" id="ContentPlaceHolder1_tbxNome" style="font-family:Verdana;font-size:10pt;width:295px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Número CNAI:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNumeroCNAI" type="text" maxlength="8" id="ContentPlaceHolder1_tbxNumeroCNAI" style="font-family:Verdana;font-size:10pt;width:100px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">CPF:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxCPF" type="text" value="057.367.539-28" maxlength="14" id="ContentPlaceHolder1_tbxCPF" style="font-family:Verdana;font-size:10pt;width:150px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Registro:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNumeroRegistro" type="text" maxlength="8" id="ContentPlaceHolder1_tbxNumeroRegistro" style="font-family:Verdana;font-size:10pt;width:100px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Habilitação:</span></td>
            <td style="text-align: left">
                <table id="ContentPlaceHolder1_cbxlCredenciamento" style="font-family:Verdana;font-size:10pt;">
    <tr>
        <td><input id="ContentPlaceHolder1_cbxlCredenciamento_0" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$0" value="1" /><label for="ContentPlaceHolder1_cbxlCredenciamento_0">QTG</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_1" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$1" value="2" /><label for="ContentPlaceHolder1_cbxlCredenciamento_1">BCB</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_2" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$2" value="3" /><label for="ContentPlaceHolder1_cbxlCredenciamento_2">SUSEP</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_3" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$3" value="4" /><label for="ContentPlaceHolder1_cbxlCredenciamento_3">CVM</label></td>
    </tr>
</table></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">UF:</span></td>
            <td style="text-align: left">
                <select name="ctl00$ContentPlaceHolder1$ddlUF" id="ContentPlaceHolder1_ddlUF" style="font-family:Verdana;font-size:10pt;">
    <option selected="selected" value=""></option>
    <option value="AC">AC</option>
    <option value="AL">AL</option>
    <option value="AM">AM</option>
    <option value="AP">AP</option>
    <option value="BA">BA</option>
    <option value="CE">CE</option>
    <option value="DF">DF</option>
    <option value="ES">ES</option>
    <option value="GO">GO</option>
    <option value="MA">MA</option>
    <option value="MG">MG</option>
    <option value="MS">MS</option>
    <option value="MT">MT</option>
    <option value="PA">PA</option>
    <option value="PB">PB</option>
    <option value="PE">PE</option>
    <option value="PI">PI</option>
    <option value="PR">PR</option>
    <option value="RJ">RJ</option>
    <option value="RN">RN</option>
    <option value="RO">RO</option>
    <option value="RR">RR</option>
    <option value="RS">RS</option>
    <option value="SE">SE</option>
    <option value="SC">SC</option>
    <option value="SP">SP</option>
    <option value="TO">TO</option>

</select></td>
        </tr>

        <tr>
            <td colspan="2">
                <br />
                <input type="submit" name="ctl00$ContentPlaceHolder1$btnConsultar" value="Consultar" id="ContentPlaceHolder1_btnConsultar" style="font-family:Verdana;font-size:8pt;width:100px;" />&nbsp;<input type="submit" name="ctl00$ContentPlaceHolder1$btnVoltar" value="&lt;&lt;&lt; Voltar" id="ContentPlaceHolder1_btnVoltar" style="font-family:Verdana;font-size:8pt;width:100px;" /></td>
        </tr>
    </table>
    <br />
    <span id="ContentPlaceHolder1_lblQtdRegistros" style="color:Firebrick;font-family:Verdana;font-size:10pt;font-weight:bold;">Quantidade de registros encontrados: 1</span><br />
    <br />
    <div>
    <table cellspacing="0" cellpadding="4" id="ContentPlaceHolder1_gvwProfissional" style="color:#333333;font-family:Verdana;font-size:8pt;width:790px;border-collapse:collapse;">
        <tr style="color:White;background-color:DimGray;font-weight:bold;">
            <th scope="col">N&#186; CNAI</th><th scope="col">Nome</th><th scope="col">Registro CRC</th><th scope="col">UF</th><th scope="col">Ativo Desde</th><th scope="col">Habilita&#231;&#227;o</th>
        </tr><tr style="color:#333333;background-color:#FFFBD6;">
            <td>5433</td><td align="left" valign="middle">ADRIEL PAUL</td><td>SC-038746/O</td><td>SC</td><td>16/10/2017</td><td>QTG</td>
        </tr>
    </table>
</div>
    <br />
    <br />
</div>    

                </td>
            </tr>
            <tr>
                <td colspan="2" style="height: 29px; background-color: #ffff92; text-align: center">
                    <span style="font-size: 8pt; color: firebrick; font-family: Verdana"><strong>
                        <hr style="width: 790px" />
                        <span style="color: firebrick">CFC/DEINF - Departamento de Informática</span></strong></span></td>
            </tr>
        </table>
    </div>

<script>_b0ea08358a064398935a96570c90f08e = new Mask("###.###.###-##");_b0ea08358a064398935a96570c90f08e.attach(document.getElementById('ContentPlaceHolder1_tbxCPF'));</script></form>
</body>
</html>

это код страницы, когда результат пуст, в этом случае я хочу получить "Nenhum registro encontrado."

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /><title>
    CNAI
</title></head>
<body>
    <form method="post" action="externaConsultaCadastro.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="N4CP+jvK/5b+U+rTB9wr1ebhSvqp5jRbCS2nCn9YQmpBGkOzPBNz77XaZqDmpks4sRpruRnk5/iODtmwHpy/TgS6IoY1opVEWGrstOsGKd9qS12fLEJcrl0C4qMMX6749LvuwRu85AopjkujK6QBv1+IEz18b30UAbvkGt9UELokaKjcjtOSOLK7AsBGf0EQ20q97wEeiJm9TE85TMflKNLDXWm/juP5rpG9cU/THT/piFUCakmhaupUwYKt84cRk2Ax7Cg45MUJXLMlOBqqiBvZYiDachCY4HYWVzt0/HNny5+Ylsw9GS3Ay/VnSVJ3+FFQnhAzpEgQqGubFeW3/fmeOI/vcA/JWB6cFux8rfKD0jnCjJvwWetFPlrtRr+O1xj9jmrzwo6cpV+KsAIQvdkmDN4rPQocbKH8gL7Na3zEUM9eCse8IGFIb4ZTdspkD7LcN9irH3bYyrBZsR1P6RQPWwX//nw99cFO72DDrCAZPUQZ/oyxNt7OPolmL88KEtCvedK/aNdbrjjZLlUeqQk41VwNZ/H8CO6NX2Gv1Kf/F6bQoWfVsUP5UZN53kCaaYitCdsgJp+Pnvyrh2oh49IhYp7VKXCK5a5HcZuWFPB7iabfi2EU8W1xonpvSG2PPsrg0rU4/CdLIKuhHtXV9fNiAREpqkq4g7m6u8heKmCXBrvxwODcpScXuFnSwRgGh3Yfv2EDQWcpV23Gcz/aBSoSw0i+g9tU8RmQgVI3KqlyEPQ29T95wAlS4inUiyXzhf5x4egIgJ8pd9/2XxS2+N29HSlWuuOYetLezzA+SL9CWP7QB9kg73o6vvJNmLAsQju91/H0pF1dDkJYb/Gd1hO3vATKttcvGtyEN/GmI6grXnwgx4bTkhJTEdoEuN8C6kD7x77sTXk1IqTSgBLvWF4KeOJvzgic6BgIFDxJyb0REGmXTgLnB/b6NA7fjLP/" />
</div>

<script src='masks.js'></script>
<div class="aspNetHidden">

    <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="KcA31Q+gCa7NxEiVU/OBNKTzdcD+hDJlBKesntp7xzs3YJoMskiWyBNqo48LSDxqEwpoAVhjW6XfPoOB6lAyHWd+/ffQ/UCoXcJLUVk4OsecSTxThSzxv3SdnIx4pE+ytZJVeAG7Ix3UCOgVU6tAOMY0Atbta3Kz9cnNAsQ8C2IHF/vORmd1XwPBYHXCe2FSjU+G1kfQwKV1du386WIfBCbbwl5DBW7qsVdbVaGMR+qgOd6Tjk3IV1IuJU0oCUDUm8CcVhm/R6mFrXfCUXl6LVyPHVPKiKaMsdqnGI/IKjI2TjkwkU4+UJJjjobo6ABr4v+Xc1Gwpj4/QVxMBoF5g6izDSGDO9sk5WWeQqFBQKRhABUHEpHnuNgZwYmDC+UbjJ8pArD4Gg9SJexKzZgXkAgwHp/glsGoa5/dYolKx2Nu03tomY14YXkbNq/ml4LmZ3HSPKGuEniZq5gcmd+oCNtQulHCFijcUW39e7PmrKp4MGPk9/0sjmYPa2UZAwF0/RQ0QikZQmOxLokzN/5U865m8hjp4Gj3ndmZpPHKPBa5iHbTqTHSj1qPVnn/v+9wlU4mG7fISLwaALSQHBtOGXyNHNq2F4JExT7R1QskvwzQMF8kJPnysoLhqVmN04i2rXLTH6xY+iUnAN4NOPoIP+T5YBs5DniT5K4RyjMioWQmv6a2eQES1tRxtkKBaPbztolYIVxKmabkzsEjXdOxHIxj21Z/R5UHa6bVnOPaeHKgSpSqyqhDMRu9e5vLkbA3o953g0TZx9xEfB0lw+j/MhqnI35mwplWucjxm9uA/0zTEDAHZ2ATd//iCKR4SWaxjL+y3BTBEn9Icy+LFh77qfj4yHn4Ye7Y5gyIn8oiFJOiNei51in80ZJyGkDP/MG5bKsC+f8R1LukFlur5JoefSmB6oRj7g9KVOw+FW31suQ=" />
</div>
    <div>
        &nbsp;<table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" style="height: 68px; width: 801px;">
                    <img src="Imagens/banner_cnai_externo.jpg" /></td>
            </tr>
            <tr>
                <td colspan="2" style="width: 801px; height: 232px;">

<div align=center>
    <br />
    <table style="font-weight: bold; font-size: 12pt; width: 800px; color: white; font-family: verdana;
        height: 7px; background-color: firebrick">
        <tr>
            <td>
                CONSULTAR CADASTRO CNAI</td>
        </tr>
    </table>
    <br />
    <span style="font-size: 10pt; color: red; font-family: Verdana"><strong>Utilize <span
        style="text-decoration: underline">qualquer um</span> dos campos abaixo para fazer
        a pesquisa:</strong></span><br />
    <br />
    <table>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Nome:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNome" type="text" maxlength="100" id="ContentPlaceHolder1_tbxNome" style="font-family:Verdana;font-size:10pt;width:295px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Número CNAI:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNumeroCNAI" type="text" maxlength="8" id="ContentPlaceHolder1_tbxNumeroCNAI" style="font-family:Verdana;font-size:10pt;width:100px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">CPF:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxCPF" type="text" value="462.929.158-08" maxlength="14" id="ContentPlaceHolder1_tbxCPF" style="font-family:Verdana;font-size:10pt;width:150px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Registro:</span></td>
            <td style="text-align: left">
                <input name="ctl00$ContentPlaceHolder1$tbxNumeroRegistro" type="text" maxlength="8" id="ContentPlaceHolder1_tbxNumeroRegistro" style="font-family:Verdana;font-size:10pt;width:100px;" /></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">Habilitação:</span></td>
            <td style="text-align: left">
                <table id="ContentPlaceHolder1_cbxlCredenciamento" style="font-family:Verdana;font-size:10pt;">
    <tr>
        <td><input id="ContentPlaceHolder1_cbxlCredenciamento_0" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$0" value="1" /><label for="ContentPlaceHolder1_cbxlCredenciamento_0">QTG</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_1" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$1" value="2" /><label for="ContentPlaceHolder1_cbxlCredenciamento_1">BCB</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_2" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$2" value="3" /><label for="ContentPlaceHolder1_cbxlCredenciamento_2">SUSEP</label></td><td><input id="ContentPlaceHolder1_cbxlCredenciamento_3" type="checkbox" name="ctl00$ContentPlaceHolder1$cbxlCredenciamento$3" value="4" /><label for="ContentPlaceHolder1_cbxlCredenciamento_3">CVM</label></td>
    </tr>
</table></td>
        </tr>
        <tr>
            <td style="text-align: right; font-weight: bold; color: firebrick; font-family: verdana;">
                <span style="font-size: 10pt; font-family: Verdana">UF:</span></td>
            <td style="text-align: left">
                <select name="ctl00$ContentPlaceHolder1$ddlUF" id="ContentPlaceHolder1_ddlUF" style="font-family:Verdana;font-size:10pt;">
    <option selected="selected" value=""></option>
    <option value="AC">AC</option>
    <option value="AL">AL</option>
    <option value="AM">AM</option>
    <option value="AP">AP</option>
    <option value="BA">BA</option>
    <option value="CE">CE</option>
    <option value="DF">DF</option>
    <option value="ES">ES</option>
    <option value="GO">GO</option>
    <option value="MA">MA</option>
    <option value="MG">MG</option>
    <option value="MS">MS</option>
    <option value="MT">MT</option>
    <option value="PA">PA</option>
    <option value="PB">PB</option>
    <option value="PE">PE</option>
    <option value="PI">PI</option>
    <option value="PR">PR</option>
    <option value="RJ">RJ</option>
    <option value="RN">RN</option>
    <option value="RO">RO</option>
    <option value="RR">RR</option>
    <option value="RS">RS</option>
    <option value="SE">SE</option>
    <option value="SC">SC</option>
    <option value="SP">SP</option>
    <option value="TO">TO</option>

</select></td>
        </tr>

        <tr>
            <td colspan="2">
                <br />
                <input type="submit" name="ctl00$ContentPlaceHolder1$btnConsultar" value="Consultar" id="ContentPlaceHolder1_btnConsultar" style="font-family:Verdana;font-size:8pt;width:100px;" />&nbsp;<input type="submit" name="ctl00$ContentPlaceHolder1$btnVoltar" value="&lt;&lt;&lt; Voltar" id="ContentPlaceHolder1_btnVoltar" style="font-family:Verdana;font-size:8pt;width:100px;" /></td>
        </tr>
    </table>
    <br />
    <span id="ContentPlaceHolder1_lblQtdRegistros" style="color:Firebrick;font-family:Verdana;font-size:10pt;font-weight:bold;">Quantidade de registros encontrados: 0</span><br />
    <br />
    <div>
    <table cellspacing="0" cellpadding="4" id="ContentPlaceHolder1_gvwProfissional" style="color:#333333;font-family:Verdana;font-size:8pt;width:790px;border-collapse:collapse;">
        <tr style="color:Red;font-family:verdana;font-size:10pt;">
            <td colspan="9">Nenhum registro encontrado.</td>
        </tr>
    </table>
</div>
    <br />
    <br />
</div>    

                </td>
            </tr>
            <tr>
                <td colspan="2" style="height: 29px; background-color: #ffff92; text-align: center">
                    <span style="font-size: 8pt; color: firebrick; font-family: Verdana"><strong>
                        <hr style="width: 790px" />
                        <span style="color: firebrick">CFC/DEINF - Departamento de Informática</span></strong></span></td>
            </tr>
        </table>
    </div>

<script>_20d372f0c34740b2ae81fb5d201835ad = new Mask("###.###.###-##");_20d372f0c34740b2ae81fb5d201835ad.attach(document.getElementById('ContentPlaceHolder1_tbxCPF'));</script></form>
</body>
</html>

Я продолжаю получать эту ошибку:

---------------------------------------------------------------------------
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-48-eb337bf8471d> in <module>
     19 
     20     results = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "table[id*='ContentPlaceHolder1_gvwProfissional'] > tbody > tr")))
---> 21     resultado_pesquisa = results[0].text.strip() if "ContentPlaceHolder1_gvwProfissional" in results[0].get_attribute("class") else results[0].find_element_by_xpath("./td[1]").text.strip()
     22 
     23     driver.find_element_by_id("ContentPlaceHolder1_tbxCPF").clear()

c:\python37\lib\site-packages\selenium\webdriver\remote\webelement.py in find_element_by_xpath(self, xpath)
    349             element = element.find_element_by_xpath('//div/td[1]')
    350         """
--> 351         return self.find_element(by=By.XPATH, value=xpath)
    352 
    353     def find_elements_by_xpath(self, xpath):

c:\python37\lib\site-packages\selenium\webdriver\remote\webelement.py in find_element(self, by, value)
    657 
    658         return self._execute(Command.FIND_CHILD_ELEMENT,
--> 659                              {"using": by, "value": value})['value']
    660 
    661     def find_elements(self, by=By.ID, value=None):

c:\python37\lib\site-packages\selenium\webdriver\remote\webelement.py in _execute(self, command, params)
    631             params = {}
    632         params['id'] = self._id
--> 633         return self._parent.execute(command, params)
    634 
    635     def find_element(self, by=By.ID, value=None):

c:\python37\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))

c:\python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"./td[1]"}
  (Session info: chrome=77.0.3865.90)

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Измените код, чтобы проверить пустые результаты, с кодом ниже:

results = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "table[id*='ContentPlaceHolder1_gvwProfissional'] > tbody > tr")))
resultado_pesquisa = "Nenhum registro encontrado." if "Nenhum registro encontrado." in results[0].text else results[1].find_element_by_xpath("./td[1]").text.strip()

Чтобы проверить, не пусто, укажите одно значение для ввода в поле CPF.

0 голосов
/ 18 октября 2019

Чтобы посмотреть в таблице, данные, которые вы пытаетесь получить, это вторая строка, а не первая строка.

Попробуйте это.

results = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "table[id*='ContentPlaceHolder1_gvwProfissional'] > tbody > tr")))
if "ContentPlaceHolder1_gvwProfissional" in results[0].get_attribute("class"):
    resultado_pesquisa = results[0].text.strip()
else:
    resultado_pesquisa=results[1].find_element_by_xpath("./td[1]").text.strip()

Print(resultado_pesquisa)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...