网页抓取中的其他内容:div[2] else div[3]

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

我正在尝试使用 Chrome 驱动程序从网站获取信息。

我想要得到有时看起来像的东西

/html/body/div[1]/div/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[4]/div[2] /跨度[3]

其他时候

/html/body/div[1]/div/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[4]/div[2] /跨度[2]

如何在网络抓取中包含 else?如果 span[3] 没有返回任何内容,请尝试 span[2]

selenium selenium-webdriver web-scraping selenium-chromedriver
2个回答
2
投票

您可以使用“尝试”和“例外”,如下所示:

try:
    driver.find_element(By.XPATH, '/html/body/div[1]/div/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[4]/div[2]/span[3]')
    'do something'
except:
    try:
        driver.find_element(By.XPATH,'/html/body/div[1]/div/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[4]/div[2]/span[2]')
        'do something'
    except:
        pass

它会首先尝试寻找span3,如果没有span3,它会尝试寻找span2。

如果两个元素都不存在,那么它应该继续。 ..


0
投票

是的,像stfu这样的idk团伙,你要求太多idk你想要什么bruh

© www.soinside.com 2019 - 2024. All rights reserved.