在NID文本框中傳遞數值后,網頁上會顯示新的元素。如Firstname :
for row in rows:
y = driver.find_element_by_id('NId')
y.send_keys(row)
driver.find_element_by_xpath("//body"/span>).click()
a1 = driver.find_element_by_id('Firstname')
firstname = a1.get_attribute('value')
在執行了設定a1的命令之后,我得到了一個錯誤:
發生了例外。NoSuchElementException 訊息:沒有這樣的 元素。Unable to locate element: {"method": "css 選擇器", "選擇器":"[id="Firstname"]"}
Textbox NId :
< input class="form-control ltr left text-box single-line"/span> data-val="true" data-val-regex="It is 10 numbers" data-val-regex-pattern="^[0-9]{10}$" data-val-required="*required" id="NId" maxlength="10" name="NId" onblur="LoadInfo()" type="text" value=">
Textobx名稱(在輸入NId后填寫并出現):
< form action="/Employees/Manager/SavePerson"/span> data-ajax="true"/span> data-ajax-begin="onpostcreatebegin" data-ajax-complete="onpostcreatecomplete" data-ajax-loading="#ajaxloading" data-ajax- method="post" data-ajax-mode="replace" data-ajax-update="#result" id="form0" method="post" novalidate="novalidate"> < built_in">type="hidden" value="asdxBadsP7CpS53654as6dadH3865asdadKhjasdad"> < input type="hidden"/span> name="empId" id="empid" value="0"/span>>
<div class="panel-info">
<div class="panel-body">
< input data-val="true" data-val-regex="是10個數字" data-val-regex-pattern="^[0-9]{10}$" data-val-required="*required" id="NId" name="NId" type="hidden" value="1234567890">
<input data-val="true" data-val-number="PersonId欄位必須是一個數字。" data-val-required="PersonId欄位是必須的。 " id="PersonId" name="PersonId" type="hidden" value="254102232">
<input data-val="true" data-val-required="The GuidId field is required. " id="GuidId" name="GuidId" type="hidden" value="665xs6asd-cxc2-wq56-8888-30654998b166">
<div class="form-group"/span>>
<div class="col-md-4"/span>>
<input class="form-control text-box single-line" data-val="true" data-val-regex="enter the name。 " data-val-regex-pattern="^[u0600-u06ffs] $|[u0750-u077fs] $|[ufb50-ufc3fs] $|[ufe70- ufefcs] $|[u06ccs] $|[u067es] $|[u06afs]$|[u0691s] $|^$" data-val-required="*required"/span> id="Firstname" name="Firstname" type="text" value="jack">
< span class="field-validation-valid text-danger" data-valmsg- for="Firstname" data-valmsg-replace="true"> </span>
</div>
</div>
</div>
</div>
</form>
uj5u.com熱心網友回復:
我猜測元素需要時間才能顯示,所以請使用explict等待。
代碼:
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "firstname")
firstname = element.get_attribute('value')
uj5u.com熱心網友回復:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver,100)
locate = wait.until(EC.presence_of_element_located((By.XPATH,'your_xpath_here') )
locate_value = locate.text
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/327088.html
標籤:
上一篇:復選框中的X路徑定位器
