zoukankan      html  css  js  c++  java
  • selenium 调用JavaScript代码

    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()
    

      

  • 相关阅读:
    20200630(A--E)题解 by 王文硕
    20200629(A--E)题解 by 章思航
    GC垃圾回收
    Codeforces Round #629 (Div. 3) A、B、C
    AtomicInteger的Increment方法的自己实现。
    两个线程,一个输出字母一个输出数字,输出A1B2C3....Z26
    NIO记录
    mysql优化相关
    一些Nginx的Linux命令和conf配置文件
    docker记录
  • 原文地址:https://www.cnblogs.com/aszeno/p/10318380.html
Copyright © 2011-2022 走看看