同今生活在线网

爬虫之selenium模块(下) 零基础Python培训

Python培训 2019-09-11 06:35100未知pczselen

显示等待:

隐式等待的效果其实并没有那么好,因为我们只规定了一个固定时间,而页面的加载时间会受到网络条件的影响。这里还有一种更合适的显式等待方法,它指定要查找的节点,然后指定一个最长等待时间。如果在规定时间内加载出来了这个节点,就返回查找的节点;如果到了规定时间依然没有加载出该节点,则抛出超时异常。

fromseleniumimportwebdriverfromselenium.webdriverimportActionChainsfromselenium.webdriver.common.byimportBy#按照什么方式查找,By.ID,By.CSS_SELECTORfromselenium.webdriver.common.keysimportKeys#键盘按键操作fromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.support.waitimportWebDriverWait#等待页面加载某些元素browser=webdriver.Chrome()browser.get('https://www.baidu.com')input_tag=browser.find_element_by_id('kw')input_tag.send_keys('美女')input_tag.send_keys(Keys.ENTER)#显式等待:显式地等待某个元素被加载wait=WebDriverWait(browser,10)wait.until(EC.presence_of_element_located((By.ID,'content_left')))contents=browser.find_element(By.CSS_SELECTOR,'#content_left')print(contents)browser.close()

关于等待条件,其实还有很多,比如判断标题内容,判断某个节点内是否出现了某文字等。

8 Cookies

使用Selenium,还可以方便地对Cookies进行操作,例如获取、添加、删除Cookies等。示例如下:

fromseleniumimportwebdriverbrowser=webdriver.Chrome()browser.get('https://www.zhihu.com/explore')print(browser.get_cookies())browser.add_cookie({'name':'name','domain':'www.zhihu.com','value':'germey'})print(browser.get_cookies())browser.delete_all_cookies()print(browser.get_cookies()) 

上一篇:哪些人需要学习Python呢?老男孩IT 下一篇:没有了

杰途IT培训学习网 备案号:

本站内容部份来自网络和网友自行发布,如有侵权等问题请联系本站删除。