我正在使用 Macbook Pro 2020 进行工作。
当 Chrome 窗口不是 'active' 窗口时,我的 Selenium 自动化代码似乎会出现问题。更具体地说:
Selenium 需要向网站发出请求并从中获取一些数据,但每当我将 Chrome 驱动程序窗口最小化时,它就无法获得新数据,而是复制了之前给我的数据。
我相信这不是由于我的代码,而是由于 Selenium,因此我想问:如何让 Selenium 在 Chrome 驱动程序窗口最小化时正常工作。
以下是代码:
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)
如您所见,我正在将selenium与pandas结合使用进行数据分析。当我保持对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'}
当我不专注于窗口时,它看起来就像这样:
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
{'aanbod': '92 resultaten'}
Chrome 版本: macOS 85.0.4183.121(官方版本)(64 位), Chrome 驱动程序版本: macOS 64 ChromeDriver 85.0.4183.87