我试图将文本发送到输入字段,但selenium无法找到元素。
element = WebDriverWait(b, 10).until(EC.presence_of_element_located((By.XPATH, '/html/body/table/tbody/tr[1]/td/form/div/table/tbody/tr[2]/td/table[2]/tbody/tr/td[4]/table/tbody/tr/td[1]/input')))
element.send_keys("Customer Care", Keys.ENTER)
我已经尝试使用XPATH、完整XPATH和ID来定位它,但它总是给我一个错误,表明它找不到元素
selenium.common.exceptions.TimeoutException
HTML元素的一个片段
<input class="iceInpTxt testBox" id="headerForm:jumpto" maxlength="40" name="headerForm:jumpto" onblur="setFocus('');iceSubmitPartial(form, this, event);" onfocus="setFocus(this.id);" onkeyup="iceSubmit(form,this,event);" onmousedown="this.focus();" type="text" value="">
元素具有
ID
,请将其用作定位器。检查元素是否位于iframe内:如何切换到iframe:
如果您的用例涉及调用} ,如下所示:
click()
或send_keys()
而诱导WebDriverWait而不是presence_of_element_located()
,您需要使用expected_conditions作为^{因此,您可以有效地使用以下Locator Strategies之一:
使用
CSS_SELECTOR
:使用
XPATH
:参考资料
您可以在以下内容中找到关于不同预期_条件的详细讨论:
最好检查您是否安装并导入了selenium或其他必要的软件包。使用
pip
检查您的版本并查看是否存在联机错误。请告诉我您使用的python版本。您提供的XPATH
可能不正确,或者可能尝试增加WebDriverWait(1st,2nd)
的第二个参数中的时间量。如果你有一个指向这个html页面的链接,那么我就可以查看你的XPATH
,这会更有帮助。如果您需要更多帮助,请提供您的html页面编辑: 这是需要复制的东西,以便可以检查。如果您尝试了上述方法,我将无法提供帮助,除非我看到html文档。您应该在共享之前删除所有敏感信息。代码的其他元素似乎是正确的
相关问题 更多 >
编程相关推荐