selenium调用js文件_selenium肿么调用执行这两个js函数

本文介绍如何使用Selenium的`execute_script`方法执行JavaScript代码,包括修改页面元素样式、隐藏元素等。提供了两个示例,分别演示在页面上直接执行JS和在特定元素上执行JS的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用js方法

execute_script(script, *args)

在当前窗口/框架 同步执行javaScript

脚本:JavaScript的执行。

*参数:适用任何JavaScript脚本。

使用:

driver.execute_script(‘document.title’)

使快播登陆用户名输入框标红显示:

#coding=utf-8

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fvod.kuaibo.com%2F%3Ft%3Dhome")

#给用户名的输入框标红

js="var q=document.getElementById(\"user_name\");q.style.border=\"1px solid red\";"

#调用js

driver.execute_script(js)

time.sleep(3)

driver.find_element_by_id("user_name").send_keys("username")

driver.find_element_by_id("user_pwd").send_keys("password")

driver.find_element_by_id("dl_an_submit").click()

time.sleep(3)

driver.quit()

js解释:

q=document.getElementById(\"user_name\")

元素q的id 为user_name

q.style.border=\"1px solid red\

元素q的样式,边框为1个像素红色

隐藏元素

js.html

js

$(document).ready(function(){

$('#tooltip').tooltip({"placement": "right"});

});

js

查看本栏目更多精彩内容:http://www.bianceng.cn/Programming/extra/

(保持html文件与执行脚本在同一目录下)

执行js一般有两种场景:

一种是在页面上直接执行JS

另一种是在某个已经定位的元素上执行JS

#coding=utf-8

from selenium import webdriver

import time,os

driver = webdriver.Firefox()

file_path = 'file:///' + os.path.abspath('js.html')

driver.get(file_path)

#######通过JS 隐藏选中的元素#########

#第一种方法:

driver.execute_script('$("#tooltip").fadeOut();')

time.sleep(5)

#第二种方法:

button = driver.find_element_by_class_name('btn')

driver.execute_script('$(arguments[0]).fadeOut()',button)

time.sleep(5)

driver.quit()

js解释:

arguments对象,它是调用对象的一个特殊属性,用来引用Arguments对象。Arugments对象就像数组。

fadeOut() 方法使用淡出效果来隐藏被选元素,假如该元素是隐藏的。

取消

评论

Selenium是一个用于自动化Web浏览器的工具,可以通过Python等多种编程语言对浏览器进行控制。在Python中,你可以使用不同的方式调用Selenium函数。 一种调用Selenium函数的方式是使用显式等待。显式等待使用WebDriverWait库来循环等待指定的条件,如果在最长等待时间内没有找到元素,就会抛出异常。下面是一个使用显式等待的示例代码: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.PhantomJS() driver.get("http://www.xxxxx.com/loading") try: element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "myDynamicElement")) ) finally: driver.quit() ``` 另一种调用Selenium函数的方式是使用隐式等待。隐式等待是在创建WebDriver实例后设置一个等待时间,单位为秒。在这个等待时间内,如果找不到元素,WebDriver会等待一段时间再继续执行。下面是一个使用隐式等待的示例代码: ```python from selenium import webdriver driver = webdriver.PhantomJS() driver.implicitly_wait(10) # 设置隐式等待时间为10秒 driver.get("http://www.xxxxx.com/loading") myDynamicElement = driver.find_element_by_id("myDynamicElement") ``` 这些是两种常见的调用Selenium函数的方式,你可以根据具体的需求选择适合的方式来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [吐血整理,Selenium4自动化测试常用函数总结,各种场景操作实战...](https://blog.youkuaiyun.com/m0_70102063/article/details/131032774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值