js 模糊定位标签元素

1.js 模糊定位

driver.execute_script("""()=>{rs=document.querySelector("button[class*='close']");if(rs){rs.click()}}""")

button 标签,class 包含close

2.

click_credentials_js = """var links=document.querySelectorAll("form select > option");
            if(links?.length>0){for(var i=0;i< links.length;i++){links[i].selected=true}};"""
driver.execute_script(click_credentials_js)

默认点击下拉框的最后一个,links?.length>0,不存在下拉框不报错

3.停止页面加载

def stopLoading():
    import win32api,win32con
    win32api.keybd_event(27, 0, 0, 0)
    win32api.keybd_event(27, 0, win32con.KEYEVENTF_KEYUP, 0)

4.

js0 = '''var items = "";
    if(arguments[0]?.attributes.length){
        for (index = 0; index < arguments[0]?.attributes.length; ++index) {
        items += arguments[0].attributes[index].value+" " };}
    return items;'''
attrs = driver.execute_script(js0, in_put).lower()

获取标签的所有属性值

5.判断页面是否已加载完成  ‘complete’

result = driver.execute_script("return document.readyState")

6.js 中 value赋值时 文本有换行符

textareas为文本框对象,from_message为文本

driver.execute_script(r'arguments[0].value=%r;'%from_message, textareas)

6. document.querySelector 标签多条件或定位,以a标签的data-spm和href属性定位

finance = driver.find_element(By.XPATH, '//ul[@id="layout-new-menu-content"]/li[9]')
driver.execute_script( '''arguments[0].querySelector("ul.a-l-menu-sub-menu>a[data-spm='droot_normal_finance_sellerwalletcb'],[href='/apps/wallet/index']").click()''', finance)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值