Class 名称更改 html
Class name changes in html
我正在网络抓取并不断收到 NoSuchElement 错误(每 2 或 3 次成功尝试一次),即使我知道该元素一直存在,它是一个电子商务网站并且是其中的元素产品名称是 stored.And 经过长时间的挫折和 100 次失败的解决方案后,我意识到该元素的 class 名称有时会发生变化,我想知道 why.The html 代码相同,只是 class 名称不同。
有时,具有明显相同结构的元素可能会因网站更新或某些元素在网格中的特定位置而发生变化。
例如,由于下面的橙色横幅,我假设网格的第一张卡片具有不同的 h2 class,这可能需要相对于其他 class 的其他标题的不同填充值es.
如果您正在寻找产品的标题,您可以使用 .card-section-mid h2
之类的东西来识别元素,而无需使用特定的 class 名称。
因此您需要执行以下操作:
title = card.find_element_by_css_selector('.card-section-mid h2')
#card assuming you've already selected the card element
web-scraping 中的最佳解决方案是寻找 API。
第二个最佳解决方案是找到能够经受住时间考验或布局可变性的强大 selectOR。在这种情况下,div.card-section-mid
中包含的第一个 h2 似乎总是包含标题。因此,出于 web-scraping 的目的,select 最喜欢的目标。
我正在网络抓取并不断收到 NoSuchElement 错误(每 2 或 3 次成功尝试一次),即使我知道该元素一直存在,它是一个电子商务网站并且是其中的元素产品名称是 stored.And 经过长时间的挫折和 100 次失败的解决方案后,我意识到该元素的 class 名称有时会发生变化,我想知道 why.The html 代码相同,只是 class 名称不同。
有时,具有明显相同结构的元素可能会因网站更新或某些元素在网格中的特定位置而发生变化。
例如,由于下面的橙色横幅,我假设网格的第一张卡片具有不同的 h2 class,这可能需要相对于其他 class 的其他标题的不同填充值es.
如果您正在寻找产品的标题,您可以使用 .card-section-mid h2
之类的东西来识别元素,而无需使用特定的 class 名称。
因此您需要执行以下操作:
title = card.find_element_by_css_selector('.card-section-mid h2')
#card assuming you've already selected the card element
web-scraping 中的最佳解决方案是寻找 API。
第二个最佳解决方案是找到能够经受住时间考验或布局可变性的强大 selectOR。在这种情况下,div.card-section-mid
中包含的第一个 h2 似乎总是包含标题。因此,出于 web-scraping 的目的,select 最喜欢的目标。