selenium中定位一个元素,定位后等待页面加载完再去定位另一个元素应该怎么书写
时间: 2023-09-12 12:03:33 浏览: 65
可以使用显式等待来等待页面加载完,然后再定位另一个元素。示例代码如下:
```
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 定位第一个元素
element1 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "element1_id")))
# 等待页面加载完成
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//body")))
# 定位第二个元素
element2 = driver.find_element_by_id("element2_id")
```
其中,`WebDriverWait` 是显式等待的关键字,`driver` 为浏览器驱动,`10` 表示最长等待时间为 10 秒。`EC.presence_of_element_located((By.ID, "element_id"))` 表示等待元素出现在页面中,`By.ID` 表示定位方式为元素 ID,`"element_id"` 为元素的 ID 名称。在等待页面加载完成时,可以使用任何定位方式,此处用的是 XPath 定位 `body` 元素。
阅读全文