当前位置: 首页 > 知识库问答 >
问题:

WebElement点击()在Selenium中不起作用

丌官星渊
2023-03-14

我在https://www.yatra.com/etw-desktop/.学习自动化硒测试。当我尝试单击名为“亚洲”的图像按钮(图片已附)时,我收到一个超时异常。请帮我弄清楚出了什么问题。

driver.manage().window().maximize();
        
driver.get("https://www.yatra.com/etw-desktop/");
driver.manage().timeouts().implicitlyWait(4000, TimeUnit.MILLISECONDS);
Thread.sleep(5000);
        
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable
(By.xpath("//*[@id=\"scrollable1\"]/div[1]/div/a[2]/div[4]"))).click();
Thread.sleep(4000);
        
Assert.assertEquals("https://www.yatra.com/etw-desktop/city-list",driver.getCurrentUrl());

显示要单击的Web元素的图像

共有2个答案

陈朗
2023-03-14

这很可能是因为使用了Thread。sleep(),这是显式等待的最坏情况。而是使用selenium本身提供的等待方法

盖嘉庆
2023-03-14

试试这个:

如何使用Selenium在Shadow DOM中查找Web元素

 类似资料:
  • 我还是Selenium测试世界的新手,目前正在使用SeleniumChromeWebDriver进行测试。 我想做的是在下面的弹出对话框中: < li >在文本输入框中输入一个数字 < li >单击应用按钮 < li >然后将触发web应用程序向服务器端发布信息。 这是我到目前为止发现的,如果我取消对<code>线程的注释。睡眠(500),一切都将完美工作。但是没有<code>线程。sleep(5

  • 让我首先说,我尝试了以下链接堆栈溢出文章中的建议,但没有成功: 禁用chromedriver中的PDF查看器插件 以下是我的ChromeOptions: 您会注意到(“disable-popup-blocking”,true)位被注释掉了,这是因为我没有看到这个: 有人对这里发生的事情有任何可能的解决方案或洞察力吗?我对编程还比较陌生,希望得到任何建议。 如果相关的话,我试图下载的PDF是Sale

  • HTML格式 我没有这个的id或名称。因此我写 但click()没有发生。 已尝试driver . find element(by . CSS selector("。按钮[值=搜索]”)。单击(); 尝试值='Search '(单引号)。 这些选择器正在

  • 问题内容: 我正在使用Selenium来测试我的Web应用程序,并且可以使用成功找到标签。但是,我时不时需要在该节点内找到子节点。 例: 我可以: 但是现在我需要找到输入,所以我可以这样做: 但是,到那时,我只拥有了代码,不再具有xpath了……我想做这样的事情: 但是这种功能不存在。我可以这样做吗? 顺便说一句:有时我需要找到一个具有一定下降节点的。如何在xpath中询问“ 包含带有文本的”?

  • 问题内容: 我正在尝试使用Python和Selenium在LinkedIn上添加联系人。我试图通过在“网络”选项卡(https://www.linkedin.com/mynetwork)中添加LinkedIn提出的联系建议来实现此目的,该选项具有无限滚动功能。 基本上,我希望脚本找到每个建议的配置文件旁边的“连接”按钮,单击该按钮,然后重复执行直到出现错误为止,从而脚本应向下滚动以加载更多“连接”