• 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()
    异常处理
  • 相关阅读:
    解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
    pywin32安装教程
    Python 3.7 安装Twisted
    富文本编辑器 kindeditor
    git push命令
    git commit命令
    git取别名配置
    kubeadm部署kubernetes v1.14.1高可用集群
    使用Operator部署Prometheus监控k8s集群
    Kickstart批量安装centos7
  • 原文地址:https://www.cnblogs.com/zhangchen-sx/p/11083523.html
Copyright © 2020-2023  润新知