#
动作链 selenium的ActionChains selenium 执行JS代码 JavaScript execute_script() 获取节点信息 from selenium import webdriver from selenium.webdriver import ActionChains browser = 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') #WebElement print(input.text) print(input.id) # print(input.location) #位置 print(input.tag_name) #标签名 print(input.size) #尺寸 # 获取id 位置 标签名 大小 # WebElement节点还有些其他属性,比如 id 属性可以获取节点 id ,location 属性可以获 # 取该节点在页面中的相对位置, tag_name 属性可以获取标签名称, size 属性可以获取节点的大小,也 # 就是宽高
import time from selenium import webdriver from selenium.common.exceptions import NoSuchElementException browser = 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 time from selenium import webdriver browser = 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 webdriver br = 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 webdriver from selenium.common . exceptions import TimeoutException, NoSuchElementException browser = 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()