如何检查是否在视点内

how to check to see if is in viewpoint

我偶尔会收到以下信息:

Selenium::WebDriver::Error::UnknownError: unknown error: Element <tr _ngcontent-c7="">...</tr> is not clickable at point (1101, 18). Other element would receive the click: <div _ngcontent-c1="" class="col-md-6">...</div>
  (Session info: chrome=64.0.3282.140)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86_64)

这发生在具有 table 行延伸超过视点的页面。

我使用的方法 select table

中的随机行
def get_random_row
  random_row = rand(1..self.policy_results_row_count)
  row = self.policy_results_element.row_element(:index => random_row)
  row.focus
  self.wait_until(10, 'Row not in focus') do
     row.visible?
  end
row.click 
end

有没有办法检查 #focus 之后视口中是否有元素?

它在或不在视口中这一事实本质上没有区别。不同之处在于 CSS 的响应式设计如何在不同的分辨率下为您的应用程序工作。如果有所不同,您可以更改 window 大小。如果问题是元素隐藏在静态 header 下,您可以使用出色的 watir-scroll gem 将元素从静态 header 下移出.