刚接触selenium,拿wordpress发布文章功能练习,输入文章标题、内容后点发布按钮,element.click()无效,能是找到了元素的,从脚本运行的现象看,感觉只是鼠标指针移动到了元素上,并没有执行click操作,相关代码如下:
尝试过的方法有:
- 查到一篇关于click()和submit()区别的帖子,说click()只能用于submit按钮,而submit()可以用于form中的所有element,包括form本身。于是修改代码为:form submit,尝试无效
- 看到别人说过点链接无效,原因是失去焦点,故尝试此种方法,代码如下,结果依然无效
-
Actions action=new Actions(driver); action.click(element).perform();
结果无效
最后,通过click前和click后增加等待时间,问题解决,click后增加等待时间,是留有足够的时间,让 browser 客户端执行 JS 代码,再把请求发到服务端,这个能理解,至于为什么click前再增加等待时间,还是不明白,因为首先是等待了页面加载完成,再说了元素明明是找到了的,不解。
不过如果下次遇到此类问题,从上面几个方面去考虑尝试,也是一个好的经验。
时间: 2024-10-11 03:53:32