• selenium初探


    先看看官方给的小demo

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.chrome(r'F:python postcodesilderchromedriver.exe')
    driver.get("http://www.python.org")
    assert "Python" in driver.title
    elem = driver.find_element_by_name("q")
    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source
    driver.close()
    

    selenium.webdriver 模块提供了所有 WebDriver的实现,现在支持的WebDriver的实现有 Firefox,Ie,Chrome,Remote,Keys类提供了键盘的代码(回车,ALT,F1等等)
    然后我们创建一个Firefox的实例:

      driver = webdriver.Chrome()后面要接我们本地的chromedriver.exe
    

    driver.get方法会导向给定的URL的页面,WebDriver会等待页面完全加载完(就是onload函数被触发了),才把程序的控制权交给你的测试或者脚本。 但是如果你的页面用了太多的AJAX,那么这个机制就没什么用了,因为它不知道页面到底是什么时候加载完。

      driver.get("http://www.python.org")
    

    WebDrive提供了一系统类似于find_element_by_*的方法来寻找页面元素,例如,我们利用find_element_by_name方法,通过元素的name属性来定位一个文本输入框元素:

      elem = driver.find_element_by_name("q")
    

    接着我们发送了一些字符,类似于用键盘直接输入。特殊的键盘符我们可以导入selenium.webdriver.common.keys,然后用Keys类来表示:

    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    

    提交页面之后我们应该确认一下是否有返回,为了确定有东西返回,我们在这里下一个断言:

      assert "No results found." not in driver.page_source
    

    最后浏览器窗口被关闭了,你也可以调用quit方法来代替close,区别在于quit会退出整个浏览器,而close只会关闭一个标签,但是如果浏览器只有一个标签,那么这两个方法完全一样,都会关闭整个浏览器。

      driver.close()
    

    这里面的assert 比如这里的assert "Python" in driver.title,意思就是说Python是否在标题里面如果在就往下执行否则就break

  • 相关阅读:
    leetcode — simplify-path
    leetcode — climbing-stairs
    leetcode — sqrtx
    leetcode — text-justification
    leetcode — add-binary
    leetcode — plus-one
    leetcode — valid-number
    leetcode — minimum-path-sum
    leetcode — unique-paths-ii
    四维偏序 CDQ套CDQ
  • 原文地址:https://www.cnblogs.com/yicunyiye/p/13685098.html
Copyright © 2020-2023  润新知