selenium 调用JavaScript代码

调用JavaScript方法有两种:

execute_script():

方法解释:是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕。

execute_script()方法如果有返回值,会有以下几种情况:

  • 返回一个页面元素(document element),这个方法就会返回衣蛾WebElement
  • 返回浮点数数字,这个方法就返回一个double类型的数字
  • 返回非浮点数字,方法返回long类型数字
  • 返回blloean类型,方法返回Boolean类型
  • 返回一个数组,方法发挥一个List类型
  • 其他情况,返回一个字符串

execute_async_script():

方法解释:是异步方法,它不会阻塞主线程执行

实例:

#调用JavaScript代码
#coding utf-8
from selenium import webdriver
from time import sleep #访问百度
driver = webdriver.Firefox()
driver.get("http://www.baidu.com") #设置浏览器窗口大下
driver.set_window_size(500,800) #搜索
driver.find_element_by_id('kw').send_keys('python selenium')
driver.find_element_by_id('su').click()
sleep(2) #通过javascript设置浏览器窗口的滚动条位置
js = "window.scrollTo(100,450);"
driver.execute_script(js) #执行JavaScript代码
#driver.execute_async_script()
sleep(2) driver.quit()

  

selenium 调用JavaScript代码的更多相关文章

  1. Selenium切换窗口,警告框处理,调用JavaScript代码

    多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...

  2. Selenium3 + Python3自动化测试系列十——调用JavaScript代码

    调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的Java ...

  3. 在HTML标签<a/>中调用javascript代码

    <a/>标签的“href”属性可以是一个有效的URL,表示跳转的目的地,除此之外,href还可以是一段javascript代码.当为“href”设置javascript代码时,格式如下:& ...

  4. python+selenium调用JavaScript

    有些浏览器的页面操作,不能依靠WebDriver提供的API来操作,需要借助JavaScript脚本. webdriver提供了execute_script()方法来执行JavaScript代码. f ...

  5. C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)

    一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...

  6. MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)

    ScriptControl接口 属性名称 类型 备注 AllowUI BOOL 检测是否允许运行用户的接口元素.如果为False,则诸如消息框之类的界面元素不可见. CodeObject Object ...

  7. Selenium调用JavaScript修改元素属性

    修改元素的style,主要是将一些隐性元素显示出来,让元素可被操作: JavascriptExecutor  js = (JavascriptExecutor)driver; js.executeSc ...

  8. selenium之调用Javascript

    selenium调用Javascript使用方法: driver.execute_script(js) 使用JS获取元素文本值,代码片段如下: ...... js = "return $(' ...

  9. Selenium+java - 调用JavaScript操作

    前言 在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如js来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作,本文将来讲解怎样来调用JavaScript ...

随机推荐

  1. vue-cli3 中 sockjs-node/info?t=报错 的解决方法

    页面突然出现这种报错: 查看Network看到是info接口报错,我项目中没有调用过该项目,然后百度查询sockjs-node/info?t=1562204191563, 首先 sockjs-node ...

  2. ElementUi 表格取消全选框,用文字表示

    Echarts ElementUi 表格取消全选框,用文字表示 1.先看看实现的图 一. 添加添加复选框列 <el-table v-loading="zongShipLoading&q ...

  3. Java和JavaScript之间的区别

    1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...

  4. json查询结果绑定

    M_Hisorder.doQuery = function (){ $("#dataList").empty(); var data = ""; var url ...

  5. lucene&tantivy对比

    写入对比每个路径下都只能有一个IndexWriter负责写入,通过writer.lock实现.不同:lucene可以多个线程共享一个IndexWriter,每个线程负责写一个segment,从addD ...

  6. [Golang] 剑走偏锋 -- IoComplete ports

    前言 Golang 目前的主要應用領域還是後臺微服務,雖然在業務領域也有所應用但仍然是比較小衆的選擇.大多數的服務運行環境都是linux,而在windows中golang應用更少,而作者因爲特殊情況, ...

  7. Linux查看端口监听占用

    # 查看所有 netstat -ntlp # 过滤PORT8080 netstat -ntlp | grep 8080 -t # 仅显示tcp相关选项 -u # 仅显示udp相关选项 -n # 拒绝显 ...

  8. 线段树 or 并查集 (多一个时间截点)

    There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...

  9. flash-session

    作用:更改session存储的位置 1.session默认存放在浏览器的cookie中 源码 wsgi->app.__call__->wsgi_app->push->self. ...

  10. 实验二:在Cisco Packet Tracer模拟器上进行Trunk+Access端口混合模式实验

    1.配置图 2.配置命令 Switch0的VLAN配置如下: 查看Switch0的vlan配置如下: Switch0的Trunk端口配置如下: Switch1的VLAN配置如下: 查看Switch1的 ...