簡體   English   中英

Watir Webdriver-跨度文本無法輸出被滾動條Firefox 40阻止的所有值

[英]Watir Webdriver - Span text can't be output all values which is blocked by scroll bar Firefox 40

最近,我正在升級watir-webdriver框架,當前是Watir-wedbriver0.8.0和Firefox40。完成后,發現span.text無法輸出滾動條不可見的部分。 這是一個示例,這是一個數據網格,這是一個spancollection。 我想循環所有值在datagrid中並輸出它們,但是最后只輸出可以在一個屏幕中查看的值。 如果更改窗口的解決方案以使滾動條丟失並且在一個屏幕中查看所有值,則它將全部輸出。 但是class_name可以正常工作。 有人對此有解決方案嗎?

代碼在這里:

table_row_spans = @browser.get_current_frame_span(header_span_id).spans
table_row_spans.each do |table_cell|
  puts table_cell.text
  puts table_cell.class_name
end

您可以通過滾動到列表中最后一個span元素的視圖來解決它:

browser.execute_script('arguments[0].scrollIntoView();', table_row_spans.last)

或者,對每個匹配的元素執行此操作:

table_row_spans.each do |table_cell|
  browser.execute_script('arguments[0].scrollIntoView();', table_cell)
  puts table_cell.text
  puts table_cell.class_name
end

嘗試以下方法;)以下方法將div中存在的特定元素(例如,網格div ID)滾動到視圖中。 此方法通過移動滾動條將元素移動到視圖中。 因此,找到特定滾動條所屬的iv_id非常重要。 element_to_scroll_to是實際對象,其位置將滾動到視圖中。

def scoll_div_element_into_view(div_id, element_to_scroll_to)
   # Find the x and y coordinate of the element.
   wd_point = element_to_scroll_to.wd.location
   # Scroll to it.
   execute_script('document.getElementById(arguments[0]).scrollTo(arguments[1],arguments[2]);', div_id, wd_point.x, wd_point.y)
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM