web自动化常见问题

8种定位方式:id,name,class_name, <a>标签的link_text()以及partial_link_text(), css_select,

find_element_by_class_name

                1.不支持同时用2个class name定位

                2.可以用css_selector()代替class_name(),使用多个class_name定位,在每个class_name的前面加上小数点即可

                例如:driver.find_element_by_css_selector('.shopCar_btn_03.fl').click()

                .shopCar_btn_03fl是2个class_name,在css_selector中使用2个class_name定位了,并且用小数点连接的。

find_element_by_css_selector

                例:find_element_by_css_selector("['value='2']")

切换句柄:

        点击某些链接,可能导致新标签页面出现,但是selenium默认的还是在原来的页面操作,所以需要切换到新的页面

        1.找到新窗口的句柄:new_window=driver.window_handles[-1]。-1表示倒数第一个,即最新

        2.通过句柄切换到新窗口:driver.switch_to(new_window)

find_elements:

find_element 可以找到页面中满足条件的第一个页面元素

find_elements 可以找到页面中满足条件的所有页面元素

关系:find_element==find_elements[0]

3种等待

1.显式等待time.sleep(),每次等待都要重新写

2.隐式等待 driver.implicitly_wait(等待的秒数)

        优点:智能的判断,下一行代码应该等待多久再执行;只需要写一次,后面所有代码都生效            缺点:有些特殊情况不起作用

3.等待直到某元素出现.用来解决脚本稳定性问题,避免等待时间不够找不到元素,或者等待时间太长,效率低的问题

窗口最大化:driver.maximize.window()

select下拉框选择

        1.定位下拉框:element=driver.find_element(。。。)

        2.把找打的页面元素,转换成下拉框类型Select:select=Select(element)

        3.调用Select类中的select_by_value()方法.一共3种方法:

                      select(element).select_by_value(选项的value属性的值)

                      select(element).select_by_index(第几个选项)

                      select(element).select_by_visible_text(选项的文本值)

                                                                                                                                                      复杂元素的定位问题:find_elements 找到所有满足条件的元素,然后根据下标找到指定的元素。

通常

form表单submit方法

日历控件如何处理

传统是点击

新方法是删除readnoly属性,然后send进去

 imput标签,是输入框。readonly属性表示只读,不能写入东西

没睡好,先睡觉,很多没整理,明天弄

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值