python - Selenium的driver在页面JS触发之后有变化吗?如何获取?
怪我咯
怪我咯 2017-04-17 17:15:52
[Python讨论组]
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
天蓬老师
现在的driver没有加载新的内容吧?

会加载新的内容的。
你使用的 driver 是什么?chromeDriver 还是 FireFoxDriver?
你知道 ipdb 吗?

 more_btn = driver.find_element_by_css_selector(".zg-btn-white.zg-r3px.zu-button-more")
 more_btn.click()
 import ipdb; ipdb.set_trace()

通过这种形式,暂停程序执行,然后你可以在浏览器上面查看或者通过 save_screenshot 保存截图查看

PHP中文网

点击了肯定会加载的。
就是加载速度的问题。
建议你做一个判断:

# 等待直到元素出现, 点击
def waitClick(self, time, element):
    try:
        print('元素加载, 页面等待中 ...')
        WebDriverWait(self.browser, time).until(EC.presence_of_element_located(element))
        self.browser.find_element(*element).click()

    except Exception,e:
        print('元素异常, 页面已截图 :')
        self.screenshot()
        

异常时候会截图,正常时候给个最长等待时间。等待完之后,就可以匹配了。

匹配也需要正确。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号