我是webscrapinghttps://www.bell.ca/Mobility/Smartphones_and_mobile_internet_devices,当一个人选择一部手机并继续作为“新客户”选择一个计划时,通常会有两个或三个按钮:“premium ultra”、“premium plus”等。我已经获得了这些瓷砖的css选择器,但当我进入第三次迭代时,我会得到一个“StaleElementReferenceException”
我已经准备好了try/exceptions,但是我更愿意完成所有的tile,因为我的代码的下一部分涉及到迭代下面的“计划和数据选项”
plantypes = driver.find_elements_by_css_selector('#prod-term-radio .hot-tile')
print(len(plantypes)) #number of plan types.
for plan in plantypes:
try:
plan.click()
time.sleep(3)
except exceptions.StaleElementReferenceException as e:
pass
我希望能够遍历所有的瓷砖,而不是在第二个之后过早地剪切
您必须在单击后刷新元素列表,因为
DOM
已更新,导致元素过时,请尝试此操作相关问题 更多 >
编程相关推荐