操作 | 说明 |
---|---|
click() |
单击元素 |
send_keys() |
模拟输入 |
clear() |
清除文本 |
submit() |
点击提交 |
示例,页面代码片段如下:
<!DOCTYPE html> <html lang="zh-cn"> <body> <div id="zc"> <legend>注册用户A</legend> <p id="p1"> <label for="userA">账号A</label> <input type="textA" name="userA" id="userA" class="c_uA" placeholder="账号A" required="" value=""> </p> <p> <label for="password">密码A</label> <input type="password" name="passwordA" id="passwordA" placeholder="密码A" value=""> </p> <p><a href="http://www.baidu.com" id="fwA">访问 百度 网站</a></p> </div> </body> </html>
脚本代码:
""" 1.学习目标: 必须掌握selenium中元素的输入,点击,清空 2.语法 2.1 点击 元素.click() 2.2 输入 元素.send_keys(输入的内容) 2.3 清空 元素.clear() 2.4 提交 元素.submit() 3.需求 在页面中,完成元素的输入,点击,清空,提交 4.总结 在对输入框进行输入操作时,先清空再输入(要记住) """ # 1.导入selenium from selenium import webdriver from time import sleep import os # 2.打开浏览器 driver = webdriver.Chrome() # 3.打开页面 url = "file:///" + os.path.abspath("./1.html") driver.get(url) # 4.对账号A输入框做输入和清空操作,点击新浪网站连接 # 4.1 定位输入框和百度超链接 # 定位账号A输入框 textA = driver.find_element_by_id("userA") # 定位百度超链接 baidu = driver.find_element_by_link_text("访问 百度 网站") # 4.2 输入文字,清空 # 在账号A中输入Selenium textA.send_keys("Selenium") sleep(2) # 清空账号A中的输入内容 textA.clear() sleep(2) # 4.3 点击百度超链接 baidu.click() # 4.4 定位百度输入框 baidu_element = driver.find_element_by_id("kw") # 4.5 在输入框中输入【心善渊&Selenium基础】 baidu_element.send_keys("【心善渊&Selenium基础】") sleep(5) # 4.6 定位按钮 百度一下 yixia_element = driver.find_element_by_id("su") # 4.7 点击百度一下 """ submit()调用提交, submit()的作用等同于click(), 但是click()的使用面要更广一些。 """ yixia_element.submit() # 5.关闭浏览器 sleep(2) driver.quit()
补充:
click()
方法:就是单纯的点击下,或者说是单击下鼠标左键,更强调是一个独立性的事件。submit()
方法:一般使用在有form
标签的表单中,把form
表单中的信息提交到后台。submit()
方法主要用于对信息进行提交,也可以使用click()
方法进行代替。如下表:
操作 | 说明 |
---|---|
size |
返回元素大小(长宽像素) |
text |
获取元素的文本(两个标签之间的文字) |
get_attribute("xxx") |
获取属性值,xxx表示元素中要获取的属性 |
is_display() |
判断元素是否可见,也就是在页面中是否可见 |
is_enabled() |
判断元素是否可用 |
title |
获取页面title |
current_url |
获取当前页面URL |
提示:
size
、text
、title
、current_url
:为属性,调用时无括号。如:元素.size
。
is_display()
、is_enabled()
:为方法,调用时需要括号。如:元素.is_display().
title
、current_url
:使用浏览器实例化对象直接调用。 如:driver.title
。
示例,页面代码片段如下:
<!DOCTYPE html> <html lang="zh-cn"> <body> <div id="zc"> <title>注册A</title> <button type="submitA" name="First button" value="注册A" title="加入会员A">注册用户A</button> </div> </body> </html>
脚本代码:
""" 1.学习目标: 掌握selenium中元素的其他操作 2.语法 2.1 size 获取元素大小 元素.size 2.2 text 获取元素文本(掌握) 元素.text 2个标签之间的文字 2.3 get_attribute() 获取元素属性(掌握) 元素.get_attribute("属性名") 2.4 is_displayed() 判断元素是否可见(掌握) 元素.is_displayed() 2.5 is_enabled() 判断元素是否可用(掌握) 元素.is_enabled() 2.6 获取页面标题 driver.title 2.7 获取当前页面url driver.current_url 3.需求 在页面中,完成上面操作。 """ # 1.导入selenium from selenium import webdriver from time import sleep import os # 2.打开浏览器 driver = webdriver.Chrome() # 3.打开页面 url = "file:///" + os.path.abspath("./2.html") driver.get(url) # 4.元素其他操作---按钮 button = driver.find_element_by_css_selector("button[type='submitA']") # 4.1 获取元素大小 print("元素大小:", button.size) # 4.2 获取元素文本 print("元素文本:", button.text) # 4.3 获取元素属性 print("元素的value属性值:", button.get_attribute("value")) print("元素的title属性值:", button.get_attribute("title")) # 没有的属性为空,什么都不打印,但不报错 print(button.get_attribute("id")) # 4.4 判断元素是否可见 print("button按钮是否可见:", button.is_displayed()) # 4.5 判断元素是否可用 print("button按钮是否可用:", button.is_enabled()) # 4.6 获取页面标题 print("页面的title:", driver.title) # 4.7 获取当前页面url print(driver.current_url) # 5.关闭浏览器 sleep(2) driver.quit() """ 输出结果: 元素大小: {'height': 23, 'width': 78} 元素文本: 注册用户A 元素的value属性值: 注册A 元素的title属性值: 加入会员A button按钮是否可见: True button按钮是否可用: True 页面的title: 注册A file:///J:/PyCharmWorkSpace/firstproject/selenium/demo/2.html """