硒异常。NoSuchElementException:

2024-10-03 02:37:19 发布

您现在位置:Python中文网/ 问答频道 /正文

html代码段如下:

<thead id="addDet:cust:th" class="emp">
<tr id="addDet:cust:ch" class="emp">
<th class="emp" scope="col" id="addDet:cust:ch:j_idt484">S. No.</th>
<th class="emp" scope="col" id="addDet:cust:ch:j_idt487">Name 
<font color="#FA5882">*</font></th>

我试着把这个字段填成:

^{pr2}$

但我得到的错误是:

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"id","selector":"psdetail:j_idt490"}

任何帮助都是值得赞赏的。在


Tags: idhtml代码段colchtrclassscope
3条回答

你的代码有个错误。您在^{之后忘了:ch:。在

您提供的xpath并没有指向要向其中输入数据的字段,实际上它指向的是列标题。这就是为什么你不能在里面输入数据。在

请尝试下面的xpath来在乘客详细信息的第一行中填写姓名和年龄

  1. 以下代码将在第一行填写乘客姓名
driver.find_element_by_xpath("(//tbody[@id='addPassengerForm:psdetail:tb']//input[contains(@id,'psgnName')])[1]").send_keys("ABC")
  1. 以下代码将在第一行填写乘客年龄
^{pr2}$

类似地,为了在下一行输入乘客姓名的数据,您只需将xpath的最后一部分从[1]调整为[2]。在

修复选择器(Imcphers应答/注释)后,是否可能在您试图找到元素时元素不在DOM中?它是动态加载的吗?如果是这样,您可能需要使用^{{cd1>}或^{{cd2>}等待。

http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp

尝试 driver.implicitly_wait(10) 初始化驱动程序后

相关问题 更多 >