#
动作链 selenium的ActionChainsselenium 执行JS代码 JavaScript execute_script()获取节点信息from selenium import webdriverfrom selenium.webdriver import ActionChainsbrowser = webdriver. Chrome()url = 'https://www.zhihu.com/explore'browser.get ( url)# logo= browser.find_element_by_id ('zh-top-link-logo')# print(logo) ## print(logo.get_attribute('class' ))input = browser.find_element_by_class_name('zu-top-add-question') #WebElementprint(input.text)print(input.id) #print(input.location) #位置print(input.tag_name) #标签名print(input.size) #尺寸# 获取id 位置 标签名 大小# WebElement节点还有些其他属性,比如 id 属性可以获取节点 id ,location 属性可以获# 取该节点在页面中的相对位置, tag_name 属性可以获取标签名称, size 属性可以获取节点的大小,也# 就是宽高
import timefrom selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionbrowser = webdriver. Chrome()url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url)browser.switch_to.frame('iframeResult')try: logo= browser.find_element_by_class_name('logo')except NoSuchElementException : print(' NO LOGO')browser.switch_to.parent_frame()logo = browser.find_element_by_class_name('logo')print(logo)print(logo.text)
import timefrom selenium import webdriverbrowser = webdriver.Chrome()browser.get('https://www.baidu.com')browser.execute_script('window.open()')print(browser. window_handles)browser.switch_to_window(browser.window_handles[1])browser.get(' https://www.taobao.com')time.sleep(1)browser.switch_to_window(browser.window_handles[0])browser.get('https://python.org')
from selenium import webdriverbr = webdriver.Chrome()br.get('http://www.zhihu.com/explore')print(br.get_cookies())br.add_cookie({ 'name':'name','domain':'www.zhihu.com','value':'germey'})print(br.get_cookies())br.delete_all_cookies()print(br.get_cookies())
延时等待 - 目的是等待页面所有数据加载完毕 隐式 如果 Selenium 没有在 DOM中找到节点,将继续等待,超出设定时间后,则抛什么都找不到节点的异常 显式前进 后退 back() forward()cookies selenium 获取 添加 删除cookie
from selenium import webdriverfrom selenium.common . exceptions import TimeoutException, NoSuchElementExceptionbrowser = webdriver.Chrome()try: browser.get('https://www.baidu.com')except TimeoutException: print('Time Out')try: browser.find_element_by_id('hello')except NoSuchElementException: print('No Element')finally: browser.close()