gpt4 book ai didi

python - 如何在 python selenium 中选择匹配一个 CSS 选择器的前 N ​​个网站元素?

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:38 24 4
gpt4 key购买 nike

我在 python/selenium 设置中使用 phantomJS 进行屏幕抓取。具体来说,我需要匹配一个 CSS 选择器的前 N ​​个元素。

挑战在于网站中存在的匹配元素多一倍以上,因此下面的调用耗时太长(速度是我的主要要求):

targets =  WebDriverWait(driver, 1).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, css_selector)))

有没有办法为找到的元素定义一个截止点,比如:

EC.presence_of_all_elements_located((By.CSS_SELECTOR, css_selector[0:N])))

我以前没有 CSS 选择器的解决方案是在一次调用中复制所有 html,将其转换为文本,然后通过文本解析获取感兴趣的(文本)元素,使用单词字典来保留/删除。这快了 4 倍多。但是,这不适合/可扩展,因为需要维护字典。

如何在python selenium中选择匹配一个CSS选择器的前n个网站元素?

最佳答案

尝试以下解决方案以获得所需数量的匹配节点:

n_elements = WebDriverWait(driver, 1).until(lambda driver: driver.find_elements_by_css_selector('css_selector')[:N])

关于python - 如何在 python selenium 中选择匹配一个 CSS 选择器的前 N ​​个网站元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com