在Selenium中加载页面后在Chrome浏览器中搜索元素

时间:2018-03-28 06:48:19

标签: java google-chrome selenium

我尝试在特定页面加载页面后在Chrome中搜索元素。但是,当我检查页面时,我注意到一旦页面加载,HTML标签就不会动态加载。因此,驱动程序在页面加载后搜索元素,并且可用元素仍然是在页面加载之前存在的元素并且搜索失败。我尝试了所有的定位技术。还使用Thread.sleepwait命令等待页面加载,但无济于事。如果有这样的问题可以替代,请告诉我。

2 个答案:

答案 0 :(得分:0)

即使您的问题可能不完整,但等待java加载页面的最佳方法(据我所知)是:

new WebDriverWait(firefoxDriver, pageLoadTimeout).until(
      webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));

答案 1 :(得分:0)

在大多数情况下,我尝试使用id,xpath或name来检查元素是否显示和启用。 您可以将其添加到代码中,并应用断点。它可能在那里,但也可能被隐藏。没有错误的堆栈跟踪很难知道是什么导致了你的问题。希望这有帮助。

@Entity 
@Table(name="emptab") 
public class Employee { 
  @Id
  @Column(name="empid") 
  private int id; 

  @Column(name="empname") 
  private String name; 

  @Column(name="emppassword") 
  private String password; 

  @Column(name="empmail") 
  private String mail; 

  @Column(name="empmobile") 
  private int mobile
  }