回答

0

這裏發生的問題是html元素被某些東西隱藏,可能是某處的css。由於它是隱藏的(display:none),WebDriver無法看到它,因此無法與之交互。 爲了解決這個問題,你需要使用JS來取消隱藏元素。

使用本$I->executeJS('jQuery("#your-css-selector").show()');

這並不在驗收測試發生,因爲PHP瀏覽器查看網頁源代碼,因此可以看到一切,而看到的webdriver的什麼用戶看到在瀏覽器的。

2

有時候這種解決方案不起作用,因爲該元素不可用於其他一些神祕原因。
我們剛剛遇到了一種情況,我們無法使用<select>元素來選擇其中一個選項。
此外,選擇該選項時,出現了「更改」事件觸發的行爲。
我們能夠像這樣解決它。

$js = "jQuery('#chosen-option-quantity-2').val('2').trigger('change');"; 
$I->executeJS($js); 

所以第一個命令選擇該選項,第二個觸發change事件。
我希望有助於某人,即使這是我未來。