我试图使用硒来爬行这个网站:
https://www.rtings.com/headphones/reviews/best/by-price/under-200
在此页底部,有一个可滚动的表,并且有一个链接的文本See Review
,我试图用硒单击See Review
,
我使用了browser.find_element_by_link_text('See Review').click()
,它成功地单击了第一个链接的文本。
当我尝试遍历每个See Review
时,我使用browser.back()
并再次单击See Review
,但是它总是单击第一个链接的文本
如何遍历链接文本?
答案 0 :(得分:0)
这是应该起作用的解决方案。
# wait for the page loading
WebDriverWait(driver,30).until(EC.presence_of_all_elements_located((By.LINK_TEXT,'See Review')))
# get number of See Review links
see_review_count = len(driver.find_elements_by_link_text('See Review'))
for review in range(see_review_count-1):
WebDriverWait(driver, 30).until(EC.presence_of_all_elements_located((By.LINK_TEXT, 'See Review')))
linkEle = driver.find_elements_by_link_text('See Review')[review]
linkEle.location_once_scrolled_into_view
linkEle.click()
# do your logic here
# XXXXXX
# click on back
driver.back()