Python 元素在页面上的不同位置被每个循环隐藏

Python 元素在页面上的不同位置被每个循环隐藏,python,selenium-webdriver,Python,Selenium Webdriver,我正在尝试刮取多个配置文件,并将得到一个selenium.common.exceptions.Element ClickInterceptedException:Message:元素在点(1477947)处不可单击,因为在我尝试运行此脚本的大多数情况下(但不是每次),另一个元素会掩盖它的错误: profile = {} n = 0 for project_url in project_urls: driver.get(project_url) if (len(driver.fin

我正在尝试刮取多个配置文件,并将得到一个selenium.common.exceptions.Element ClickInterceptedException:Message:元素在点(1477947)处不可单击,因为在我尝试运行此脚本的大多数情况下(但不是每次),另一个元素会掩盖它的错误:

profile = {}
n = 0
for project_url in project_urls:
    driver.get(project_url)
    if (len(driver.find_elements_by_css_selector(".others-popup")) > 0):
        driver.find_element_by_css_selector(".others-popup").click()
    else:
        continue

    # GET ALL WHO SUBMITTED A PROPOSAL
    profile_links = driver.find_elements_by_class_name("pMemberLink")
    # driver.switchTo().frame(driver.findElement(By.name("bidders-container")));
    links = []
    for link in profile_links:
        link = link.get_attribute('href')
        links.append(link)

    for profile_link in links:
        # driver.get('https://www.peopleperhour.com/freelancer/technology-programming/mersad-husic-mobile-developer-yvnjxvn')

        driver.get(profile_link)
        profile["project"] = project_url

        name = driver.find_element_by_css_selector('.details > h1').text
        name = name.split('\n')[0]
        profile["name"] = name

        job_title = driver.find_element_by_css_selector('.member-job').text
        profile["job_title"] = job_title

        web_elements = driver.find_elements_by_css_selector('div.col-md-12 > div > div > a')
        driver.implicitly_wait(30)
        elements = [element.text for element in web_elements]
        if (len(driver.find_elements_by_css_selector('div.col-md-12 > div > div > a > span')) > 0):
            driver.find_element_by_xpath("//a[contains(@class, 'js-show-more-tags')]").is_enabled()
            # driver.find_elements_by_css_selector('div.col-md-12 > div > div > a > span').is_enabled()
            driver.execute_script("window.scrollTo(516,952);")
            driver.implicitly_wait(50)
            web_elements[-1].click()
            # driver.execute_script("arguments[0].scrollIntoView();", web_elements[-1])
            # driver.implicitly_wait(30)
            # web_elements[-1].click()
            driver.implicitly_wait(30)
            # sel = Selector(text=driver.page_source)
            # web_elements = sel.css('div.col-md-12 > div > div > a')
            # print(web_elements)
            #     sleep(3)
            
            # WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".js-more-tags > a")))
            #     # ActionChains(driver).move_to_element(element[-1]).click().perform()
            # url = web_elements[-1].get_attribute('href')
            # driver.get(url)
            # WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='feed-load-more-button'][@ng-click=\"ctrl.loadMoreFeedItems()\"]"))).click()
            # web_elements = driver.find_elements_by_css_selector('div.col-md-12 > div > div > a')
            additional_elements = driver.find_elements(By.CSS_SELECTOR, "a[href*='hire']")
            # additional_elements = driver.find_elements_by_xpath("//a[contains(@class, 'tag-item')]")
            for element in additional_elements:
                print(element.text)
            print(len(additional_elements))
            # other_effort = driver.find_element(By.XPATH, '/html/body/content/div/div[1]/section/main/div/div/div/div/div[2]/div/aside/div[1]/div/div[1]/div[5]/div[2]/div/div/div/a')
            # for effort in other_effort:
            #     print(effort.text)
            # web_elements.extend(additional_elements)
            #     web_elements = driver.find_elements_by_css_selector('div.col-md-12 > div > div > a')
            # https://stackoverflow.com/questions/9156417/valid-json-giving-jsondecodeerror-expecting-delimiter
我尝试过的一切都被评论掉了。我在第一页上用这行代码()修复了这个问题:

driver.execute_script("window.scrollTo(516,952);")
但随后的页面在页面的不同位置抛出相同的错误:

Element is not clickable at point (1477,947)
以下是重现错误的前10个project_URL:

['https://www.peopleperhour.com/freelance-jobs/technology-programming/mobile-app-development/kotlin-recyclerview-2250646', 'https://www.peopleperhour.com/freelance-jobs/technology-programming/website-development/update-to-sample-tracking-system-1851050', 'https://www.peopleperhour.com/freelance-jobs/technology-programming/website-development/wordpress-developer-with-excellent-front-end-skills-3144222', 'https://www.peopleperhour.com/freelance-jobs/video-photography/videography/2d-animated-explainer-video-3187987', 'https://www.peopleperhour.com/freelance-jobs/technology-programming/databases/question-bank-3103578', 'https://www.peopleperhour.com/hourlie/do-bank-reconciliation-convert-bank-statement-edit-modify/698229', 'https://www.peopleperhour.com/freelance-jobs/technology-programming/programming-coding/node-red-xml-json-and-protobuf-3156130', 'https://www.peopleperhour.com/hourlie/do-machine-learning-projects-using-python/703032', 'https://www.peopleperhour.com/freelance-jobs/technology-programming/programming-coding/facebook-for-jobs-intergration-3107545', 'https://www.peopleperhour.com/hourlie/real-time-chat-system-for-website-and-mobile-app/497920?ref=member', 'https://www.peopleperhour.com/freelance-jobs/marketing-branding-sales/public-relations/new-website-with-3-data-bases-2234282']
我已经查看了关于这个主题的所有其他堆栈答案,但没有找到答案。我不认为这是一个等待元素可点击的问题,因为我已经实现了许多隐式等待EC。元素可点击并得到了相同的结果。任何洞察都将不胜感激!我真的不知道还能尝试什么。谢谢大家!