Fragment kodu z elementem, w który chcę wpisać znak za pomocą pythona z selenium poniżej.
Próbuję wpisać w pole PASSFIELD1 pierwszy znak hasła, w pole PASSFIELD2 drugi znak etc.
<tbody>
<tr></tr>
<tr style="height: 30px"></tr>
<tr>
<td class="strong"></td>
<td>
<div style="display: inline">
<input id="PASSFIELD1" class="logField" type="password" onkeyup="next(this, event);" maxlength="1" autocomplete="off" name="PASSFIELD1"></input>
<input id="PASSFIELD2" class="logFieldInactive" type="password" value="·" maxlength="1" autocomplete="off" readonly="true" name="PASSFIELD2"></input>
Próbowałem wielu rzeczy:
- pass1=driver.find_element_by_name("PASSFIELD1")
- pass1=driver.find_element_by_id("PASSFIELD1")
- pass1= driver.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]")
(path pobrany za pomocę firebuga = brak pomyłki) - W końcu postanowiłem poczekać na ten element 100 sekund:
self.wait.until(EC.visibility_of_element_located((By.XPATH,"/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]")))
self.assertTrue(self.driver.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]"))
Niestety python w żaden sposób nie może znaleźć tego elementu. Gdzie robię błąd?