selenium页面元素操作(简易版)
介绍一下,这是处理页面元素的基本方法,@selenium
- 发送文字 element.send_keys(keys_to_send)
- 单击 element.click()
- 提交表单 element.submit()
这两个方法,只要我们导入了webdriver的包,就可以使用。
以火狐首页为例,先来看下火狐首页的基本情况:
<!-- 1 -->
<input id="search-key" class="engine-key" maxlength="100" autocomplete="off" type="text"/>
<!-- 2 -->
<input id="search-submit" class="btn-engine" value="" type="submit"/>
发送文字
driver.find_element_by_id("search_key").send_keys("selemnium")
多说一句,如果发送的是汉字,send_keys的参数需要使用u"待发送内容”的形式,u指的是utf-8编码,这样做是为了避免浏览器的编码和编译器的编码不同而陈尚的错误。
driver.find_element_by_id("search_key").send_keys(u"待发送")
左键点击“搜索”
driver.find_element_by_id("search-submit").click()
提交表单submit,一般用于模拟回车键,在表单输入完成之后,可以选择点击提交按键,也可以选择回车提交
例:在火狐首页搜索“追光者”
driver.find_element_by_id("search-key").send_keys(u"追光者") driver.find_element_by_id("search-submit").submit()
附:网易邮箱登录demo
Login E-mail
#导入驱动的包和控制时间的包 from selenium import webdriver import time #设置要打开的网页链接 url="https://www.baidu.com" #初始化驱动 driver = webdriver.Firefox() #打开百度 driver.get(url) #等待页面加载完成 time.sleep(3) #搜索163邮箱 driver.find_element_by_id("kw").send_keys("163邮箱登录") time.sleep(3) driver.find_element_by_id("su").click() #定位账号密码,账号密码自行修改 driver.find_element_by_class_name("op_email3_username").send_keys(" XXX") driver.find_element_by_class_name("op_email3_password").send_keys("XXX") #定位登录 driver.find_element_by_xpath(".//*[@id='1']/div[1]/div/form/table/tbody/tr[3]/td[2]/a[1]").click() time.sleep(3)