selenium

动作链 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 属性可以获取节点的大小,也
# 就是宽高
selenium的ActionChains
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)
切换 Frame
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())
cookie 操作
延时等待 - 目的是等待页面所有数据加载完毕
    隐式  如果 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()
异常处理
原文地址:https://www.cnblogs.com/zhangchen-sx/p/11083523.html