2017-06-20 97 views

回答

0

嘗試

js.executeScript("document.querySelector('input[name='password']')"); 

讓我知道如果這個回答你的問題。

+0

沒有運氣,仍然沒有工作。 while //driver.findElement(By.cssSelector("input[name='password']")).sendKeys("gamb「);工作正常。但\t \t js.executeScript(「document.querySelector('input [name = \'password \']')。value ='gamb'」);不工作 –

1

請嘗試下面的代碼。

js.executeScript("document.querySelector('input[name=\'password\']')"); 
+0

沒有運氣,它仍然不工作得到錯誤。 –

+0

沒有運氣,仍然沒有工作。 while //driver.findElement(By.cssSelector("input[name='password']"))。sendKeys(「gamb」);工作正常。但js.executeScript(「document.querySelector('input [name = \'pas sword \']')。value ='ga mb'」);沒有工作 –

+0

你可以用document.querySelector('input [name = \'password \']')來嘗試setAttribute('value','gamb'); – Murthi

0

你可以嘗試以下

js.executeScript("document.querySelector(\'input[name=\'password\']\');"); 
js.executeScript("document.querySelector(\"input[name='password']\");"); 

雖然你的意見,你加入這行

js.executeScript("document.querySelector('input[name=\'pas‌​‌​sword\']').value='ga‌​‌​mb'"); 

這不會,因爲如果你看一下你.value的」一個工作你需要逃避你的.value設置。

鑑於我沒有訪問您的網站或您的代碼,我建議您測試以確保您的JavaScript對您的頁面有效。一種方法是採用javascript本身(所有內容都是.executeScript),並通過瀏覽器開發工具控制檯或腳本執行窗口運行。

如果使用瀏覽器開發工具設置值,很好的問題是使用硒。如果該值沒有使用瀏覽器開發工具設置...您需要重構您的JavaScript,因爲問題可能不是硒,而是您的JS選擇器更可能。

雖然以下內容從您的評論中發揮作用,但您可能無需通過javascript執行。

driver.findElement(By.cssSelector("input[name='password']"‌​‌​)).sendKeys("gamb"‌​);