Selenium Web元素操作

前端之家收集整理的这篇文章主要介绍了Selenium Web元素操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们定位到Web页面元素之后,可以对元素进行一系列的操作,实现跟页面的交互。包括点击、文本输入、元素属性获取等。常用的方法列举如下:

方法 描述
click() 点击元素
send_keys(**value*) 用于向EditText(可编辑文本控件)输入文本;还可以用于输入文件(如百度图片搜索输入图片
get_attribute(name) 获取元素属性
is_selected() 元素是否被选择,一般用于判断checkBox 或者 radio 控件状态
screenshot(filename) 截取元素

点击、输入文本

@H_502_60@
  • 打开 https://www.baidu.com/
  • 搜索框输入“test”
  • 点击“百度一下”
  • 关闭网页
  • python代码

    self.driver.find_element_by_id("kw").send_keys("test")
    self.driver.find_element_by_id("su").click()
    

    文件上传

    input标签可以直接使用send_keys(文件地址)上传文件

    打开百度图片搜索,输入图片地址

    python代码

    self.driver.get("https://image.baidu.com/")
    self.driver.find_element_by_xpath("//*[@id='sttb']/img[1]").click()
    self.driver.find_element_by_id("stfile").send_keys(u"D:/TestingDemo/img/图片.png")
    

    get_attribute()

    获取元素属性

    比如获取百度一下”这个button的属性:type、id、value、class

    python代码

    baidu = self.driver.find_element_by_id("su")
    baidu.get_attribute("type")
    baidu.get_attribute("id")
    baidu.get_attribute("value")
    baidu.get_attribute("class")
    

    is_selected()

    在勾选单选框(radio)和复选框(checkBox)的时候,如果已经被选中,再次点击就会反选了,所以在点击之前需要判断一下是否已经选中。可以使用is_selected()方法来判断是否被选中

    python代码

    def checkBox_switch(self,switch="ON"):
        self.driver = webdriver.Chrome()
        sw = self.driver.find_element_by_id('id_of_checkBox').is_selected()
        flag = False
        if switch == "ON":
            flag = True
            if sw^flag:
                self.driver.find_element_by_id('id_of_checkBox').click()
                self.driver.quit()
    

    screenshot()

    截取元素

    python代码

    self.driver = webdriver.Chrome()
    self.driver.get("https://www.baidu.com")
    element = self.driver.find_element_by_id("su")  # 百度一下的按钮
    element.screenshot('D:\\baidu.png')
    

    结果图baidu.png

    也可以保存整个页面窗口截图

    • get_screenshot_as_base64()
    • get_screenshot_as_file(filename)
    • get_screenshot_as_png()
    • save_screenshot(filename)
    self.driver.save_screenshot('baidu.png')
    
    --THE END--

    文章标题:Selenium Web元素操作
    本文作者:hiyo
    本文链接https://hiyong.gitee.io/posts/selenium-webelement-operate/
    欢迎关注公众号:「测试开发小记」及时接收最新技术文章

    原文链接:/selenium/995048.html

    猜你在找的Selenium相关文章