使用JavaScript操作页面元素

Posted sleeping_cat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JavaScript操作页面元素相关的知识,希望对你有一定的参考价值。

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

#!usr/bin/env python  
#-*- coding:utf-8 -*-  
""" 
@author:   sleeping_cat
@Contact : [email protected] 
""" 
#使用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操作页面元素的主要内容,如果未能解决你的问题,请参考以下文章

javascript是干嘛用的

JavaScript单行代码,也就是代码片段

JavaScript笔试题(js高级代码片段)

更改页面javascript代码(TamperMonkey)以将键盘笔触发送到父DOM

javascript对象

组件&Props