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

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

相关推荐
ClouGence7 小时前
哪些场景适合做自动化测试?这 4 类最值得优先投入
selenium·测试
测试老哥9 小时前
接口自动化测试分层设计与实践总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
ClouGence10 小时前
Selenium vs CueCast:自动化测试一定要写代码吗?
selenium·测试
goodesocket11 小时前
市面上测试稳定可靠的内存条测试治具公司芯片检测利器
测试工具
可可南木1 天前
3070文件格式--23--fixture文件 5
功能测试·测试工具·pcb工艺
小白上线*^_^*1 天前
Jmeter从入门到精通指南
软件测试·测试工具·jmeter·接口测试·测试工程师
goodesocket2 天前
手机LPDDR芯片测试座厂商适配性强
测试工具
ClouGence2 天前
自动化测试,如何让每个用例都保持登录状态?
selenium·测试
ClouGence2 天前
手动测试工程师有必要学自动化测试吗?手工测试还有前途吗?
selenium·测试·求职