zoukankan      html  css  js  c++  java
  • 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()
    异常处理
  • 相关阅读:
    从产品原型到交互设计的过渡——初学者心得
    谈什么是卡片式设计?
    vertical-align:middle的居中细节调整
    line-height:2和line-height:2em的区别,它们是有区别的
    css中!important的用法总结
    使用em为单位制作两列弹性布局
    如何动态修改下拉列表的默认选中项
    【转】深入浅出协议栈
    经典排序js实现
    js 数组的拷贝
  • 原文地址:https://www.cnblogs.com/zhangchen-sx/p/11083523.html
Copyright © 2011-2022 走看看