webUI自动化元素被定位到,但是不点击问题Keys.ENTER解决

博主分享了解决网页元素定位后点击失效问题的心得,通过尝试多种方法后,发现Enter键触发点击解决了问题。讨论了可能的原因,如动态菜单变化导致的点击问题,并揭示了使用XPath结合Keys.ENTER实现有效点击的方法。
摘要由CSDN通过智能技术生成

就是有这样的问题呀,明明元素被定位到了,但是就是不点击。而且代码执行完了之后也没有报错信息。一开始以为是因为没有定位到,就换各种定位方法,后来还是不行,查百度一开始也查不到什么有用的信息,因为大家每个人描述问题描述的不一样。

用双击方法,也是不行:

# action = ActionChains(driver)
# action.double_click(driver.find_element_by_xpath('//*[@id="root"]/div/section/aside/div/ul/li[4]/div[1]')).perform()
# driver.find_element_by_xpath("//li[3]").click()

移动点击元素也不行:

# ele = driver.find_element_by_xpath("//li[4]//ul[1]//li[1]")
# ActionChains(driver).move_to_element(ele).move_by_offset(5,5).click().perform()

每次想放弃的时候,想想感觉这不是一个无法解决的难问题,栽在这个问题上也太说不过去了吧,就一直研究,功夫不负有心人,终于找到一种方法:enter点击:

导入:

from selenium.webdriver.common.keys import Keys
driver.find_element_by_xpath("//li[4]//ul[1]//li[1]/a").send_keys(Keys.ENTER)

再次执行,就点击成功了!

各种原因导致的click点击的话,点击不上吧,我们这个没有iframe框,按钮也没有被隐藏,但是点击一级菜单后,整个菜单列表会发生变化,定位好定位,就容易出现点击不上的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值