WebDriver Wait无法正常工作

2024-10-04 01:28:32 发布

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

我尽量不要等到整个页面都被加载。就我而言,WebDriverWait应该有帮助,所以我试着把它放到我的代码中,但可能有一些东西我不知道,因为它引发了{},尽管我可以看到标记。在

self.driver.get('http://www.quoka.de/')
self.wait.until(EC.invisibility_of_element_located((By.ID, 'search1')))
self.driver.find_element_by_id("search1").send_keys('nachhilfe')
self.driver.find_element_by_id('searchbutton').click()

所以它会打开Firefox,然后等待页面被加载。这是我要找的标签:

^{pr2}$

Firefox已经加载了这个标签,但是它仍然在等待整个页面。你有什么建议吗?在

编辑:我认为这一行self.wait.until(EC.invisibility_of_element_located((By.ID, 'search1')))应该让Firefox等到标记可见,并且在这个标记被加载之后,它应该继续使用另一行代码。在


Tags: of代码标记selfbydriver页面element
1条回答
网友
1楼 · 发布于 2024-10-04 01:28:32

试试这个:

self.driver.get('http://www.quoka.de/')
self.wait.until(EC.presence_of_element_located((By.ID, 'search1')))
self.driver.find_element_by_id("search1").send_keys('nachhilfe')
self.driver.find_element_by_id('searchbutton').click()

unvisibility_of_element_located等待元素在DOM中要么不可见或者不存在! 据我所知,你想要的恰恰相反。所以试着让元素出现在你的位置。在

请注意,按“标识”查找“元素”也需要一些时间。因此,一旦元素对用户可见,就不会有即时发送密钥。在

为了测量这个时间,你可以做一些实验:

^{pr2}$

相关问题 更多 >