selenium

作者: 风雨声豪入梦中 | 来源:发表于2018-12-28 09:11 被阅读0次
    selenium:是一个自动化测试软件 安装 pip3 install selenium
    
    selenium 不自带浏览器,如果要用的话必须跟第三方的浏览器配 
    from selenium import webdriver
    

    有头浏览器是测试用的,无头浏览器比有头浏览器更快
    如果不设置有头还是无头,它默认为有界面的浏览器

    selenium : 还可以模拟用户进行点击
    selenium: 的好处模拟浏览器进行加载
    
    如何设置无头浏览器 opt = webdriver.ChromeOptions()
    设置为无头浏览器 opt.set_headless()
    

    创建一个浏览器驱动

    chrome_driver = webdriver.Chrome(
    executable_path= '/home/tian/桌面/驱动/chromedriver',
    options=opt # 表示无界面的浏览器,
    )
    chrome_driver.get('[https://www.baidu.com/'](https://www.baidu.com/'))
    
    chrome_driver.save_screenshot('百度.png')
    获取页面源码(是经过浏览器渲染后的结果) html_data = chrome_driver.page_source
    

    模拟用户操作,在百度栏中搜索文字, 以百度为例

    chrome_driver.find_element_by_id('kw').send_keys('蛋糕')
    点击按钮 chrome_driver.find_element_by_id('su').click()
    time.sleep(3)
    

    隐士等待:

    当我们寻找节点的时候,有时候页面可能没有加载出来,设置隐士等待,没有的话会等一会继续寻找,如果在设置的时间内没有找到,这时会出现异常错误
    
    chrome_driver.implicitly_wait(10)
    

    显示等待

    点击下一页 chrome_driver.find_element_by_class_name('n').click()
    根据文字查找对应的节点 chrome_driver.find_element_by_link_text('下一页>').click()
    清空 chrome_driver.find_element_by_id('kw').clear()
    在百度搜索框中搜索关键字 chrome_driver.find_element_by_id('kw').send_keys('苹果')
    
    模拟点击回车 from selenium.webdriver.common.keys import Keys
    Keys.RETURN 模拟键盘回车的操作 chrome_driver.find_element_by_id('su').send_keys(Keys.RETURN)
    回退 chrome_driver.back()
    前进 chrome_driver.forward()
    关闭浏览器(关闭所有浏览器窗口) chrome_driver.close()
    退出浏览器操作(当只有一个页面的时候退出) chrome_driver.quit()
    获取节点的属性 get_attribute chrome_driver.find_element_by_id('su').get_attribute('value')
    获取节点的文本 text print(chrome_driver.find_element_by_class_name('n').text)
    获取cookie cookies = chrome_driver.get_cookie()
    获取当前请求的url cur_url = chrome_driver.current_url
    

    """

    通过节点的name属性查找对性的节点 chrome_driver.find_element_by_name()
    通过节点的class_name找到对应的节点 chrome_driver.find_element_by_class_name()
    通过css查找对应的节点 chrome_driver.find_element_by_css_selector()
    通过链接所在的标签的部分文字找到节点 chrome_driver.find_element_by_link_text()
    通过xpath路径找到对应的节点 chrome_driver.find_element_by_xpath()
    .....
    

    """

    相关文章

      网友评论

          本文标题:selenium

          本文链接:https://www.haomeiwen.com/subject/bfajlqtx.html