在这里插入图片描述


一、点击元素(对应的click())

使用场景:当使用显性等待不能解决问题时

在这里插入图片描述

代码中实现点击元素操作:driver.execute_script(“document.querySelector(‘.c-icon.icon-title_35rjV’).click()”)

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

#todo 点击元素
def test_baidu_js():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get('https://www.baidu.com/')
    driver.execute_script("document.querySelector('#kw').value='20230226'")
    driver.execute_script("document.querySelector('#su').click()")
    time.sleep(1)
    driver.execute_script("document.querySelector('.c-icon.icon-title_35rjV').click()")

二、input标签对应的值(对应的send_keys())

document.querySelector(‘#kw’).value:获取文本中的文字
在这里插入图片描述
document.querySelector(‘#kw’).value=‘java’:修改文本框的文字
在这里插入图片描述

修改时间控件的属性值:

在这里插入图片描述

代码中实现修改文本框默认值操作:driver.execute_script(‘document.querySelector(“#train_date”).value=“2024-01-01”’)

获取时间控件的信息,并返回出来date_data=driver.execute_script(‘return document.querySelector(“#train_date”).value’)

python执行js脚本

def test_12306_js():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get('https://www.12306.cn/index/')
    #修改时间控件的信息
    driver.execute_script('document.querySelector("#train_date").value="2024-01-01"')
    #获取时间控件的信息,并返回出来
    date_data=driver.execute_script('return document.querySelector("#train_date").value')

    print(f'获取的时间控件信息为:{date_data}')

三、元素的文本属性

在这里插入图片描述

修改元素的文本信息,并且验证是否修改通过
driver.execute_script(“document.querySelector(‘.mnav.c-font-normal.c-color-t’).innerText=‘今日新闻’”)

def test_baidu_js1():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get('https://www.baidu.com/')
    driver.execute_script("document.querySelector('.mnav.c-font-normal.c-color-t').innerText='今日新闻'")
    text_data=driver.execute_script("return document.querySelector('.mnav.c-font-normal.c-color-t').innerText")
    print(text_data)

四、js脚本滚动操作

滚动到页面底部:
document.documentElement.scrollTop=10000

def test_baidu_js2():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get('https://www.baidu.com/')
    driver.execute_script("document.querySelector('#kw').value='python'")
    driver.execute_script("document.querySelector('#su').click()")
    time.sleep(1)
    driver.execute_script("document.documentElement.scrollTop=10000")

滚动到指定位置
document.querySelector(“css表达式”).scrollIntoView()

def test_baidu_js3():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get('https://www.baidu.com/')
    driver.execute_script("document.querySelector('#kw').value='python'")
    driver.execute_script("document.querySelector('#su').click()")
    time.sleep(1)
    driver.execute_script('document.querySelector(".c-title.t.t.tts-title").scrollIntoView()')
Logo

一站式 AI 云服务平台

更多推荐