尝试使用Python selenium从输入文本框中擦除数据时出错



HTML:

<div class="emailAttachmentInputMobile">
<input type="text" size="30" maxlength="100" ng-model="emailAttachmentRecipient" class="ng-pristine ng-valid ng-valid-maxlength ng-not-empty ng-touched">
</div>

这是我的python代码:我使用了以下定位策略:

使用CSS_SELECTOR:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.emailAttachmentInputMobile input.ng-pristine.ng-valid.ng-valid-maxlength.ng-not-empty.ng-touched[ng-model='emailAttachmentRecipient']"))).clear()

使用XPATH:

WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='emailAttachmentInputMobile']//input[@class='ng-pristine ng-valid ng-valid-maxlength ng-not-empty ng-touched' and @ng-model='emailAttachmentRecipient']"))).clear()

我得到这个错误:

引发超时异常(消息、屏幕、堆栈(selenium.com.mon.exceptions.TimeoutException:消息:

有人能帮我解决这个问题吗。它已经花了我很多时间,但仍然无法修复

这对我有效(基于查询中提供的HTML(:

driver.find_element(By.XPATH, "//input[@ng-model='emailAttachmentRecipient']").clear()

如果需要,您可能需要扩展XPATH:

"//div[@class='emailAttachmentInputMobile']//input[@ng-model='emailAttachmentRecipient']"

最新更新