python - 如何使用 selenium 迭代并单击其文本相同的每个链接文本?
问题描述
我尝试使用 selenium 爬取这个网站:
https://www.rtings.com/headphones/reviews/best/by-price/under-200
在这个页面的底部,有一个可滚动的表格,还有一个链接的文本See Review
,我尝试使用 selenium 点击See Review
,
我使用browser.find_element_by_link_text('See Review').click()
并成功单击了第一个链接文本。
当我尝试遍历 everySee Review
时,我使用browser.back()
并See Review
再次单击,但它总是单击第一个链接的文本
如何遍历链接文本?
解决方案
这是应该工作的解决方案。
# 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()
推荐阅读
- bash - 如何在 Matlab m 文件中使用 Bash shell 脚本中的变量
- c++ - 使用 nvcc (CUDA-RINSIDE) 正确链接对象文件
- r - 时间序列中多列当前总和的基于行的计算
- selenium - 在 Firefox 中使用 Nightwatch 运行测试无法连接到 Selenium 服务器
- java - GraphQL Java 类生成器
- vba - Excel 到 .tsv 文件,但仍然有逗号和引号
- android - Android,如何替换初始片段?
- image - 向内 360 度照片
- typescript - 在打字稿中扩展传单
- c# - 在 Hololens 中运行时未调用 OnPhotoCaptureCreated