Python 如何阻止selenium scraper重定向到被刮网站的另一个内部Web链接?

Python 如何阻止selenium scraper重定向到被刮网站的另一个内部Web链接?,python,selenium-webdriver,xpath,web-scraping,Python,Selenium Webdriver,Xpath,Web Scraping,我想知道是否有人知道指示selenium脚本避免访问/重定向到不属于代码一部分的内部页面的方法。基本上,我的代码打开了这个页面: 一直单击ShowMore按钮,直到没有(在页面末尾)-到那时-它应该已经收集了它滚动到最后的页面上列出的所有产品的链接,然后分别访问每个产品 相反,它成功地点击show more直到页面结束,但随后它访问了同一网站的这个奇怪的促销页面,而不是分别跟踪每个收集到的链接,然后从每个新打开的链接上进一步删除数据点 简而言之,如果有人能够解释如何避免这种自动重定向,我将不胜

我想知道是否有人知道指示selenium脚本避免访问/重定向到不属于代码一部分的内部页面的方法。基本上,我的代码打开了这个页面:

一直单击ShowMore按钮,直到没有(在页面末尾)-到那时-它应该已经收集了它滚动到最后的页面上列出的所有产品的链接,然后分别访问每个产品

相反,它成功地点击show more直到页面结束,但随后它访问了同一网站的这个奇怪的促销页面,而不是分别跟踪每个收集到的链接,然后从每个新打开的链接上进一步删除数据点

简而言之,如果有人能够解释如何避免这种自动重定向,我将不胜感激!这就是代码,以防有人感激地将我推向正确的方向:)


重定向调用的发生有两个原因,在您的情况下,要么是在上次单击“加载更多”按钮时执行一些javascript代码,要么是接收HTTP 3xx代码,这在您的情况下是最不可能的。 因此,您需要确定何时执行此javascript代码,并在加载之前发送一个
ESC_键
,然后执行脚本的其余部分

在单击“加载更多”按钮之前,您还可以刮取链接并将其附加到列表中。每次单击该按钮时,请做出一条if语句,验证您所在页面的链接,如果是促销页面的链接,则执行其余代码,否则请单击“加载更多”

  while page_is_same:
    scrape_elements_add_to_list()
    click_load_more()
    verify_current_page_link()
    if current_link_is_same != link_of_scraped_page:
      page_is_same = False
  # rest of the code here

你说得对。结果是
  while page_is_same:
    scrape_elements_add_to_list()
    click_load_more()
    verify_current_page_link()
    if current_link_is_same != link_of_scraped_page:
      page_is_same = False
  # rest of the code here