selenium+Python(Js处理click失效)
2024-08-28 17:43:53
有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应。这种问题遇到了,是比较头疼的,因为没任何报错,只是 click 事件失效了。
问题:
1.在练习百度的搜索设置按钮时,点保存设置按钮,alert 弹出没弹出(代码没报错,只是获取 alert 失败)。
点击父元素解决问题
1.遇到这种问题,应该是前面操作 select后导致的后遗症(因为我注释掉 select那段是可以点击成功的)
2.第一种解决办法,先点击它的父元素一次,然后再点击这个元素
3.实现代码如下
js 直接点击解决问题
1.遇到这种诡异问题,是时候出绝招了:js 大法
2.用 js 直接执行点击事件
完整代码:
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.select import Select
import time
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
time.sleep(5)
mouse = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(mouse).perform()
time.sleep(3)
driver.find_element_by_link_text("搜索设置").click()
time.sleep(3)
s = driver.find_element_by_id("nr")
Select(s).select_by_visible_text("每页显示50条")
# 方法一,先点击父元素
#driver.find_element_by_id("gxszButton").click()
#driver.find_element_by_class_name("prefpanelgo").click()
# 方法二,JS直接点击
js = 'document.getElementsByClassName("prefpanelgo")[0].click()'
driver.execute_script(js)
driver.quit()
最新文章
- linux shell:nginx日志切割脚本
- DIV弹出和关闭新DIV
- URAL 1303. Minimal Coverage(DP)
- 十八、Java基础--------IO流体系以及字符流
- localStroage的用法
- Ueditor的两种定制方式
- phpcmsv9 幻灯片管理模块_UTF8
- SQL Server Index详解
- UVaOJ 120 - Stacks of Flapjacks
- mac linux netstat -n
- 山东省赛J题:Contest Print Server
- button变成href (即按钮超链效果)
- Unity3d之shaderLab内置变量
- 浅谈Android中Serializable和Parcelable使用区别
- [HNOI2001]矩阵乘积
- Spring MVC 实践 - Component
- BZOJ3286 Fibonacci矩阵 矩阵 快速幂 卡常
- 解决winfrom下TextBox不支持透明背景色
- Laravel之Eloquent ORM
- js获取iframe的id
热门文章
- 设计模式9---装饰模式(Decorator Pattern)
- 学习python4
- VC中CRect类的简单介绍
- duilib入门简明教程 -- 完整的自绘标题栏(8)
- 系统禁用执行FIPS政策导致程序发生“调用的目标发生了异常”
- JavaScript数组升降序排列、最大值、最小值等
- “全栈2019”Java第二十三章:流程控制语句中决策语句switch上篇
- 获取请求 header 中指定字段的值
- ObjectARX二次开发创建自己的静态库,如同objectARX库一样
- jquery 实现动画效果(各种方法)