当执行以下行的测试用例时,我得到以下错误 -
NoSuchElementException:消息:无法找到元素:{“method”:“xpath”,“selector”:“// div [@ id ='sizzle-1442313418270'] / div / table / tbody / tr / td [3] “}
driver.find_element_by_xpath("//div[@id='sizzle-1442313418270']/div/table/tbody/tr/td[3]").click()
driver.find_element_by_xpath("//div[@id='sizzle-1442313418270']/div/table/tbody/tr[2]/td[4]").click()
3 回答
我不能发表评论所以必须给出答案 .
如果你确定元素存在,那么在执行行之前放一个
Thread.sleep (5000)
,如果有效,你就会知道selenium在元素加载之前正在执行 . 然后删除睡眠并等待使用显式等待在页面上显示的其他内容,然后执行其余代码尝试
另一种可能是你的元素在iframe中?
在 date 语句之前使用隐式等待语句
在创建firefox构造函数之后执行wait语句会更好,因为在执行findElement语句之前,隐式语句肯定会运行
如果它不起作用则转到明确的声明