selenium(python)如何往div中添加内容

Amy安 2017-08-11 09:26:50
我使用selenium(python)实现一些自动化功能其中有一个步骤是往一个输入框中添加内容然后点击按钮,但这个输入框不是input表单 是div标签 是用js实现的往这个div中添加输入内容,点击按钮button则是调js获取这个div里的内容然后提交

当我定位到这个div然后send_keys时报错说send_keys不支持这个元素,后来试了像div p这样的都是不支持的 只支持input这类可输入的

那么对于这样的情况我要如何使用selenium实现这个自动化操作呢

求教
...全文
2702 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44122306 2019-07-29
  • 打赏
  • 举报
回复 3
你往父级找一找 有没有div元素 有一个 contenteditable="true"的属性,说明这个文本框采用的是全局变量,你只需要给这个div send_keys()就ok了
yy19931231 2019-06-10
  • 打赏
  • 举报
回复
用这个试试 from selenium.webdriver.common.action_chains import ActionChains 然后它有这个方法 send_keys(*keys_to_send) 向某个元素位置输入值 先定位到div的xpath,然后在输入内容 driver.switch_to.frame(driver.find_element_by_xpath("/html/body/div[1]/form/table[2]/tbody/tr[5]/td[3]/div/div/div/iframe")) actions = ActionChains(driver) actions.send_keys("今日工作内容").perform()
czw711 2018-02-07
  • 打赏
  • 举报
回复 2
#利用javaScript来插入内容 js = 'document.getElementById("xxx").innerHTML="<p>this is test!</p>" ' driver.execute_script(js)
vnetone 2017-09-21
  • 打赏
  • 举报
回复
同求教,最近也遇到了这个问题
Amy安 2017-08-14
  • 打赏
  • 举报
回复
引用 2 楼 EB_NUM 的回复:
            try:
                 browser.find_element_by_xpath('//button[@class ="btn1"]’).click()   
             except:
                 browser.find_element_by_xpath('//button[@class ="btn2"]’).click()
try 以下,有按钮1 点击1 出现异常点击 按钮2
引用 3 楼 qq_27776667 的回复:
我刚学一周python,像这种会中断程序的异常以前在学java的时候会要求必须加上的,貌似python没有硬性要求,所以只要加上try/except语句就可以了,还有楼主那个往div输入的问题解决了@一下我
感谢解答 往div里输入的方法我还没找到 目前想到的是模拟键盘按键,但首先要点击一下那个输入框获得焦点 不知有没有大佬有更好的办法处理
宇风 -飞扬 2017-08-12
  • 打赏
  • 举报
回复
            try:
                 browser.find_element_by_xpath('//button[@class ="btn1"]’).click()   
             except:
                 browser.find_element_by_xpath('//button[@class ="btn2"]’).click()
try 以下,有按钮1 点击1 出现异常点击 按钮2
ERROR_NAME 2017-08-12
  • 打赏
  • 举报
回复
我刚学一周python,像这种会中断程序的异常以前在学java的时候会要求必须加上的,貌似python没有硬性要求,所以只要加上try/except语句就可以了,还有楼主那个往div输入的问题解决了@一下我
Amy安 2017-08-11
  • 打赏
  • 举报
回复
另外想请教一下 find_element_by_xpath 等这些定位方法 为何一旦没找到就是致命错误 程序直接停止运行呢 如果想先判断有没有按钮1 有则点击1否则点击按钮2 这里在if(browser.find_element_by_xpath('//button[@class ="btn1"]’)就直接报错了 要如何判断呢?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧