2014-01-21 44 views
1

我正在試驗Selenium的R端口,即最近發佈的Relenium。使用Relenium查找頁面上的網頁元素似乎很直截了當。但是,我很難選擇和取消選中複選框。考慮下面的代碼,我希望在網頁上的複選框的狀態有些變化:Relenium:如何選擇複選框?

library(relenium) 
firefox <- firefoxClass$new() 
firefox$get("http://jamaserv.jama.or.jp/newdb/eng/prod4/prod4TsMkEntry.html") 
firefox$printHtml() 

chkbox <- firefox$findElementByXPath("//input[@name='chkCarMaker4All'][@type='checkbox']") 

chkbox$isSelected() 
chkbox$click() 
chkbox$isSelected() 

我所得到的是這樣的,這表明在狀態沒有改變已經實現:

chkbox$isSelected() # query checkbox state 
[1] TRUE 
> chkbox$click() # to deselect box 
> chkbox$isSelected() 
[1] TRUE # no change in state? 
> 

我已經看過有關在其他語言中使用Selenium的問題,如this one for Java,但沒有將它們應用於我自己的案例並取得任何成功。這是我第一次使用Selenium,所以可能是我在其Relenium變體中遺漏了一些明顯的東西。任何指針如何選擇/取消選擇複選框,將不勝感激。

回答

0

事實證明,這是火狐,硒和Windows 7

之間一些奇怪的相互作用的結果,如果你的Windows 7顯示設置的字體設置爲超過100%,那麼Selenium將被沒有任何其他點擊頁面元素。我的字體設置爲125%。將此重置爲100%後,我可以在Relenium中設置和取消設置複選框,因此它畢竟不是Relenium特有的。

該問題在this Stack Overflow question中有所提及,詳細描述以及this Selenium問題報告頁面的屏幕截圖。感謝Relenium合着者Lluis Ramon尋找此修復程序。