Selenium:执行显式等待时的部分文本匹配

问题描述 投票:0回答:1

我试图刮的页面是https://www.toyota.com/dealers/#search&zipcode=01401

我正在遍历zipcodes。

对于我的其余代码,如果找到经销商,它可以提取该信息并运行到下一个邮政编码。但是,当没有找到经销商时,我正在挣扎。

我试图在尝试下一次迭代之前等待文本“我们找不到经销商”......但是在我不关心的那一行之后还有另一个动态文本。

我该如何重写?

EC.text_to_be_present_in_element((By.ID, "operations_monitoring_tab_current_ct_fields_no_data"), "We found no dealers")

以后不关心文字?

python web-scraping
1个回答
0
投票

使用其余API并测试numDealer字段中的值> 0

import requests

for code in ['01401','03217']:
    r = requests.get('https://www.toyota.com/ToyotaSite/rest/dealerLocator/locateDealers?brandId=1&zipCode={}'.format(code)).json()
    numDealers = r['numDealer']
    if numDealers > 0:
        for dealer in r['dealers']:
            print(dealer)
© www.soinside.com 2019 - 2024. All rights reserved.