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)起作用,别的组合和顺序都不起作用。

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

相关推荐
se-tester12 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
xixi092412 天前
selenium IDE——command
selenium·测试工具
xixi092412 天前
selenium IDE安装使用教程
ide·selenium·测试工具
Wpa.wk13 天前
har文件转为接口自动化测试用例
运维·测试工具·自动化·测试用例·接口自动化
Wpa.wk13 天前
ubuntu22桌面版安装
经验分享·测试工具
uyeonashi13 天前
自动化测试问卷考试系统测试报告
功能测试·selenium·github
007张三丰13 天前
软件测试专栏(6/20):Selenium从0到1实战指南:元素定位、等待机制与框架封装
selenium·测试工具
测试老哥13 天前
如何使用Postman做接口测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
安全不再安全13 天前
某驱动任意读漏洞分析 - 可用于游戏内存数据读取
c语言·测试工具·安全·游戏·网络安全