selenium自动化之javascrip

我们在做web自动化测试时候,有时候会遇到富文本这类的控件的时候,不管你怎么定位,都定位不到的时候,你需要换个思维,我们可以用一下javascript脚本来实现这样。

webdriver提供了execute_script()方法来执行javascript代码,这个我们用一个案例来展示如何,打开百度搜索页面,利用javascript代码把“selenium调用js”文字输入到文本框当中。

python脚本如下:

#导入webdriver类

from selenium import webdriver

#打开火狐浏览器

driver=webdriver.Firefox()

#最大化浏览器界面窗口

driver.maximize_window()

#打开网址

driver.get("打开百度网址")

#定义一个变量,输入文本框的文字

text="selenium调用js"

#javascript代码

js="var ms=document.getElementById('kw');ms.value='"+text+"';"

#selenium调用javascript

driver.execute_script(js)

#退出并关闭浏览器

driver.quit()

其实在selenium中还可以利用javascript来实现其他一些特殊的操作,可以操作网页上下滚动,上下移动这样的操作行为。

python实现脚本如下:

from selenium import webdriver

from time import sleep

#打开火狐浏览器

driver=webdriver.Firefox()

driver.get("打开百度网页")

#设置浏览器窗口大小

driver.set_window_size(600,600)

#文本框里输入值

driver.find_element_by_id("kw").send_keys("测试")

#点击百度一下按钮

driver.find_element_by_id("su").click()

#暂停5秒时间

sleep(5)

#设置网页滚动条停留的位置

js="window.scrollTo(100,450);"

#执行javascript代码

driver.execute_script(js)

driver.quit()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180730A1YNT400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券