码迷,mamicode.com
首页 > 编程语言 > 详细

使用JavaScript操作页面元素

时间:2017-12-26 14:42:49      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:ror   实现   page   ==   name   nta   存在   bin   ase   

       在webdriver脚本代码中执行JavaScript代码,来实现对页面元素的操作。此种方式主要用于解决在某些情况下,页面元素的.click()方法无法生效等问题。

#!usr/bin/env python  
#-*- coding:utf-8 -*-  
""" 
@author:   sleeping_cat
@Contact : zwy24zwy@163.com 
""" 
#使用JavaScript操作页面元素

from selenium import webdriver
from selenium.common.exceptions import WebDriverException
import unittest
import traceback#导入堆栈类
import time

class TestDemo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_executeScript(self):
        url = http://www.baidu.com
        self.driver.get(url)
        searchInputBoxJS = document.getElementById("kw").value="光荣之路";
      #构造JavaScript查找百度首页的搜索输入框的代码字符串 searchButtonJS = document.getElementById("su").click()
      #构造JavaScript查找百度首页的搜索按钮的代码字符串 try: self.driver.execute_script(searchInputBoxJS)
        #通过JavaScript代码在百度首页搜索输入框中输入“光荣之路” time.sleep(2) self.driver.execute_script(searchButtonJS)
        #通过JavaScript代码单击百度首页上的搜索按钮 time.sleep(2) self.assertTrue(百度百科 in self.driver.page_source) except WebDriverException as e: print("在页面中没有找到要操作的页面元素" ,traceback.print_exc())#打印异常的堆栈信息 except AssertionError as e: print(页面不存在断言的关键字串) except Exception as e: print(traceback.print_exc())#发生其他异常时,打印异常堆栈信息 def tearDown(self): self.driver.quit() if __name__ == __main__: unittest.main()

使用JavaScript操作页面元素

标签:ror   实现   page   ==   name   nta   存在   bin   ase   

原文地址:https://www.cnblogs.com/sleeping-cat/p/8117214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!