java selenium 元素点击不了

最近做了一个页面爬取,很有意思被机缘巧合下解决了。

这个元素很奇怪,用xpath可以定位元素,但是就是click()不了。

试过了网上搜的一些办法:

java 复制代码
//尝试一
WebElement a_tag = driver.findElement(By.xpath("xxx"));
a_tag.click();//点击不了,卡住

//尝试二
WebDriverWait wait = new WebDriverWait(driver, 100);
wait.until(ExpectedConditions.elementToBeClickable(a_tag)).click();//点击不了,卡住

//尝试三
Actions actions = new Actions(driver);
actions.moveToElement(a_tag).perform();
actions.click()//没报错,但实际没起作用

然后无意一次尝试,神奇的事情发生了:

java 复制代码
//把action和a_tag结合起来用,先action.perform一下,不要点,再用a_tag点
WebElement a_tag = driver.findElementByXpath("xxx");
 Actions actions = new Actions(driver);
 actions.moveToElement(a_tag).perform();//action先perform一下,不要点
 a_tag.click();//用元素点,顺利执行,并起作用

而且更神奇的是,只有这种组合(即先action.perform再a_tag.click)起作用,别的组合和顺序都不起作用。

虽然问题解决了,但是还不知道是什么原理。有大神了解吗?

相关推荐
MYians1 天前
[Windows]Postman-app官方历史版本下载方法
测试工具·postman
巴里巴气1 天前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
2501_924064111 天前
2025年跨端云真机测试平台深度测评:XR与折叠屏时代的兼容性之战
测试工具·移动端自动化测试·自动化测试脚本
Small black human2 天前
HTTP-Postman的安装及其使用
测试工具·postman
AIZHINAN2 天前
Appium 简介
自动化测试·测试工具·appium
吴free2 天前
mac电脑wireshark快速实现http接口抓包
网络·测试工具·http·wireshark
DeamoTech2 天前
ESCADA
物联网·测试工具
旷世奇才李先生3 天前
Selenium 安装使用教程
selenium·测试工具
巴里巴气3 天前
对selenium进行浏览器和驱动进行配置Windows | Linux
selenium·测试工具
q567315234 天前
Java Selenium反爬虫技术方案
java·爬虫·selenium