zoukankan      html  css  js  c++  java
  • webdirver初识_元素定位_鼠标操作


    from selenium import webdriver
    #1、鼠标悬停,导入提供鼠标操作的 ActionChains 类
    from selenium.webdriver.common.action_chains import ActionChains
    from time import sleep,ctime
    """
    ActionChains 类提供了鼠标操作的常用方法: 
    perform(): 执行所有 ActionChains 中存储的行为; 
    context_click(): 右击; 
    double_click(): 双击; 
    drag_and_drop(): 拖动; 
    move_to_element(): 鼠标悬停
    """
    dr = webdriver.Chrome()
    dr.get("https://www.baidu.com")
    dr.maximize_window()

    #2、悬停至设置按钮:
    above = dr.find_element_by_css_selector("div#u1 > span#s-usersetting-top")  #定位"设置"悬停按钮
    #ActionChains()类传入浏览器驱动dr
    ActionChains(dr).move_to_element(above).perform() 

    #3、单选框处理:选择搜索设置并打开
    dr.find_element_by_class_name('setpref').click() #单选框,点击搜索设置
    sleep(10)

    dr.find_element_by_id("nr_2").click() #单选框,点击每页20条


    """
    4、下拉框处理:
    WebDriver 提供了 Select 类来处理下接框
    from selenium.webdriver.support.select import Select  #导入Select类

    Select 类:用于定位<select>标签
    select_by_value:通过 value 值定位下拉选项
    select_by_visible_text():通过 text 定位下拉选项
    select_by_index():通过下拉选项的 index 顺序定位选项,第一个选项为 0

    e.g:
    sel = driver.find_element_by_id('nr') #先定位到下拉框选项
    Select(sel).select_by_value('20') #每页显示20条
    Select(sel).select_by_visible_text("每页显示 20 条")
    """

    #5、保存设置按钮:
    #<a href="javascript:void(0)" class="prefpanelgo setting-btn c-btn c-btn-primary">保存设置</a>
    dr.find_element_by_css_selector(".prefpanelgo").click()

    #6、警告框处理:
    """
    先使用 switch_to.alert 方法获取警告框,然后用text/accept/dismiss/ send_keys等方法进行操作
    text:返回 alert/confirm/prompt 中的文字信息。
    accept():接受现有警告框。
    dismiss():解散现有警告框。
    send_keys(keysToSend):发送文本至警告框。keysToSend:将文本发送至警告框
    """

    """
    a1 = dr.switch_to.alert()
    a1.accept()  #写法错误
    """

    dr.switch_to.alert.accept()   #正确写法

    """
    正确写法:
    a1 = dr.switch_to.alert
    print(a1.text)  #打印警告框内容
    a1.accept()
    """

    dr.quit()
  • 相关阅读:
    9月7日总结
    Arbitrage题解
    杀蚂蚁题解
    8月11日总结
    8月10总结
    PHP 关于获取客户端ip的方法
    PHP内置函数大全
    PHP header函数设置http头
    获取两个日期之间的全部的日期数据(包括两个日期)
    根据周日获取这周的周日到周六的日期(周日为这周的第一天)
  • 原文地址:https://www.cnblogs.com/xlzhangq/p/13192994.html
Copyright © 2011-2022 走看看