4 votes

Selenium se dérègle lorsque 'chromedriver' n'est pas la fenêtre active

(Je travaille sur un Macbook Pro 2020)

Mon code d'automatisation Sélénium semble se planter lorsque la fenêtre du pilote de chrome n'est pas la fenêtre "active". Pour être plus précis :

selenium a besoin de faire une requête à un site web et de prendre des données de celui-ci, mais chaque fois que je laisse la fenêtre chrome-driver minimisée, il ne reçoit pas les NOUVELLES données mais copie ce qu'il m'a donné auparavant.

Je suis presque certain que ce n'est pas dû à mon code mais à selenium, donc je veux demander : Comment puis-je permettre à selenium de fonctionner correctement lorsque la fenêtre du pilote de chrome est réduite.

Voici le code :

for i in df2["keywords"]:
    time.sleep(1)
    search.send_keys(i)
    search.send_keys(Keys.RETURN)
    try:
        element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "p.total-results.js_total_results"))
    )
    except:
        print("FIRST ELEMENT NOT FOUND")
        driver.quit()
    search = driver.find_element_by_css_selector("input#searchfor.wsp-search__input")
    data['aanbod'] = driver.find_element_by_css_selector('p.total-results.js_total_results').text
    df3 = df3.append(data, ignore_index=True)
    search.clear()
    print(data)

Comme vous pouvez le voir, j'utilise Selenium en combinaison avec Pandas pour l'analyse des données. Voici à quoi ressemblent les données lorsque je reste concentré sur la fenêtre du pilote de chrome :

{'aanbod': '92 resultaten'}
{'aanbod': '167 resultaten'}
{'aanbod': '1.144 resultaten'}
{'aanbod': '102 resultaten'}
{'aanbod': '829 resultaten'}
{'aanbod': '91 resultaten'}
{'aanbod': '125 resultaten'}
{'aanbod': '225 resultaten'}
{'aanbod': '800 resultaten'}
{'aanbod': '276 resultaten'}

et voilà à quoi ça ressemble sans que je me concentre sur la fenêtre :

{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}

version de chrome : mac 85.0.4183.121 (Official Build) (64-bit), version du pilote de chrome : mac 64 ChromeDriver 85.0.4183.87

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X