python自动化10 处理常见自动化场景方法(下拉框处理、JS处理)

下拉框处理

web页面上经常会有下拉框,对下拉框的处理比较简单,一般分为两种情况:
1、下拉框通过元素定位识别,举例:
driver.find_element(By.XPATH,'//option[@value=“mango”]).click()上面的元素为下拉框中的选项。
2、创建一个select的对象,然后通过相应方法处理,举例:
selectElement = driver.find_element(By.XPATH,//select[@id=“Selector”]”)
s = Select(selectElement)
s.select_by_index(2) #索引定位,索引从0开始
time.sleep(2)
s.select_by_value(“mango”) #value属性的值
time.sleep(2)
s.select_by_visible_text(“桔子”) #可见文本内容

from selenium import webdriver
from config_utils import config_u
from log_utils import LogUtils
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.select import Select

log_path = config_u.get_log_path
log_utils = LogUtils(log_path)

class WebDriver:
    def __init__(self,driver_path=config_u.get_driver_path):
        path = Service(driver_path)
        self.driver = webdriver.Firefox(service=path)
        self.mouse = ActionChains(self.driver)
        
    def element_xpath_select(self,xpath_path,value):
        #下拉框识别
        #self.driver.find_element(By.XPATH,xpath_path).click()
        #通过下拉框对象识别
        select_element = self.driver.find_element(By.XPATH,xpath_path)
        select_el = Select(select_element)
        select_el.select_by_value(value)

JS处理

当webdriver遇到无法完成的操作时候,这个时候可以使用javascript来完成webdriver提供了execute_script()接口来调用js代码。执行is有两种场景:
一种是在页面上直接执行is
另一种是在某个已经定位的元素上执行js
自动化常用JS
alert(“hello!”) 弹出提示框
document.body.scrollTop=1000 滚动操作
document.body.scrollTop=500 修改参数改变位置滑动
arguments[0].style.border = ‘5px solid red’; 把选定元素框起来
针对时间控件可以使用:
arguments[0].removeAttribute(‘value’) 移除元素属性
arguments[0].setAttribute(‘value’,“ssss”) 修改元素属性

    def element_op_js(self,js_daima):
        #调用js
        self.driver.execute_script(js_daima)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值