学习笔记selenium-python send_keys

上一篇 / 下一篇  2017-04-21 14:31:12 / 个人分类:selenium

用法:
element=driver.find_element_by_xpath(xpath)
element.send_keys(content)

遇到特殊的控件,如:
控件默认值为1,直接使用send_keys会在“1”后面继续插入值。
可以使用ActionChains解决。
action=ActionChains(driver)
action.move_to_element(element)  
action.double_click()  #双击选中当前文字
action.send_keys(content)
action.perform()  #执行action,必须加上这个

使用send_keys有时会碰到文字只输入一半的情况,不知原因,可能是速度太快,这里可以使用WebDriverWait判断一下:

def send_message(driver,xpath,content,num=3):   #判断文字是否写全,最多尝试num次
    element=driver.find_element_by_xpath(xpath)
    element.clear()  #考虑到可能反复尝试写入文字,每次写入前清空一次文本框
    element.send_keys(content)
    try:
WebDriverWait(driver,5).until(expected_conditions.text_to_be_present_in_element_value((By.XPATH,xpath),content))
        return 1
#使用WebDriverWait判断文本框中的内容是否与content一致,不一致进入except。
    except:
if num>0:
    return send_message(driver,xpath,content,num-1)
#尝试3次
else:
    print('input failed ',content)
    return 0  #三次后仍不行返回输入失败






TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2017-04-26  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 125
  • 日志数: 3
  • 建立时间: 2017-03-17
  • 更新时间: 2017-04-25

RSS订阅

Open Toolbar