Selenium+python之简单操作

1、webdriver 中比较常用的操作元素的方法有下面几个:

clear——清除元素的内容,如果可以的话

             比如登录框内一般默认会有“账号” “密码”等提示信息,如果直接输入内容,和可能会与输入框的默认提示信息拼接,从而造成输入信息的错误;这时 clear()将变得非常有用。

send_keys——在元素上模拟按键输入

              有时候当我们在 send_keys()方法中输入中文时,然后脚本在运行时就报编码错误, 这个时候我们可以在脚本开头声明编码为 utf-8, 然后在中文字符的前面加个小u 就解决了(表示转成 python Unicode 编码)  

click——单击元素

            其实 click()方法不仅仅用于点击一个按钮,可以单击任何可以点击的元素,文字/图片连接,按钮,下拉按钮等。

submit——提交表单

            submit()要求提交对象是一个表单,更强调对信息的提交。click()更强调事件的独立性。 (比如,一个文字链接就不能用 submit()方法。)与click还是有点区别的。

2、WebElement 接口常用方法

text:获取文本

#返回百度页面底部备案信息

text=driver.find_element_by_id("cp").text

print text


get_attribute(属性名字):获得属性值

#返回元素的属性值,可以是 id、name、type 或元素拥有的其它任意属性

attribute=driver.find_element_by_id("kw").get_attribute('type')

print attribute


3、鼠标事件,ActionChains 类鼠标操作的常用方法:

context_click()——右击

double_click()——双击

drag_and_drop()——拖动

move_to_element()——鼠标悬停在一个元素上

click_and_hold()——按下鼠标左键在一个元素上

实例:

使用的时候要引入 ActionChains 类

from selenium.webdriver.common.action_chains import ActionChains

right =driver.find_element_by_xpath("xx")

ActionChains(driver).context_click(right).perform()

----- 解析 -----


ActionChains 用于生成用户的行为;所有的行为都存储在 actionchains 对象。通过 perform()执行存储的行为。

perform() 执行所有 ActionChains 中存储的行为。perfrome()同样也是 ActionChains 类提供的的方法,通常与ActionChains()配合使用。


4、键盘事件

在使用键盘按键方法前需要先导入 keys 类包,如:from selenium.webdriver.common.keys import Keys

send_keys(Keys.BACK_SPACE) ——删除键(BackSpace)

send_keys(Keys.SPACE)——空格键(Space)

send_keys(Keys.TAB)——制表键(Tab)

send_keys(Keys.ESCAPE)——回退键(Esc)

send_keys(Keys.ENTER) ——回车键(Enter)

send_keys(Keys.CONTROL,'a')—— 全选(Ctrl+A)

send_keys(Keys.CONTROL,'c') _复制(Ctrl+C)

send_keys(Keys.CONTROL,'x') ——剪切(Ctrl+X)

send_keys(Keys.CONTROL,'v') ——粘贴(Ctrl+V)

实例:

#ctrl+x 剪切输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')


5、打印信息

title——返回当前页面的标题

current_url——获取当前加载页面的 URL


6、切换窗口方法

switch_to包的方法详解:

driver.switch_to.active_element()——定位到当前聚焦的元素上

driver.switch_to.alert()——切换到alert弹窗

driver.switch_to.default_content()——切换到最上层页面

driver.switch_to.frame(frame_reference)——通过id、name、element(定位的某个元素)、索引来切换到某个frame

你可能感兴趣的:(Selenium+python之简单操作)