【问题标题】:Parsing active content with Selenium使用 Selenium 解析活动内容
【发布时间】:2021-08-05 12:17:34
【问题描述】:

我正在尝试使用 Selenium 从网站 flashcore.com 解析拳击手,为什么代码不起作用?错误在哪里?

假设 Selenium 应始终单击所有比赛并从打开的窗口中写下指向玩家的链接。程序错误。

Message: element click intercepted: Element <div class="event__participant event__participant--home fontBold">...</div> is not clickable at point (498, 533). Other element would receive the click: <div class="customCookie">...</div>
(Session info: chrome=92.0.4515.131)
    options = webdriver.ChromeOptions()
    options.add_argument(f'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:89.0) Gecko/20100101 Firefox/89.0')
    
    options.add_argument('--disable-blink-features=AutomationControlled')
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    driver = webdriver.Chrome(
            executable_path=chrome_driver,
            options=options,
        )
    
        try:
            driver.get(url='https://www.flashcore.com/boxing/')
            time.sleep(random.randrange(3, 5))
            
            tournirs_home = driver.find_elements_by_class_name('event__participant')
    
            window_before = driver.window_handles[0]
    
            for i in range(len(tournirs_home)):
                try:
                    element = driver.find_element_by_class_name('event__participant')
                    driver.execute_script("arguments[0].click();", element)
                    time.sleep(5)
                    element.click()
    
                    time.sleep(4)
                    window_after = driver.window_handles[1]
                    driver.switch_to.window(window_after)
                    time.sleep(4)
                    elems = driver.find_element_by_class_name('wrapper___38qYb6N').find_elements_by_xpath("//a[@href]")
                  
                    for i in elems:
                        with open('players.txt', 'a') as f3:
                            f3.write(i + '\n')
                    driver.close()
                    driver.switch_to.window(window_before)
                except Exception as ex:
                    continue
    
        except Exception as ex:
            print(ex)
        finally:
            driver.close()
            driver.quit()

【问题讨论】:

    标签: javascript python ajax selenium parsing


    【解决方案1】:

    从您的错误消息来看,您似乎没有处理 cookie。 “其他元素将收到点击:...”。像这样的东西应该可以工作

    driver.find_element_by_xpath("//*[text()='I Agree']").click()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 2015-03-20
      • 1970-01-01
      相关资源
      最近更新 更多