el = web.find_element('//*[@id="changeCityBox"]/ul/li[2]/a')优化语句
时间: 2023-12-21 18:06:24 浏览: 160
1. 使用CSS选择器代替XPath选择器,因为CSS选择器通常比XPath选择器更快。
例如:el = web.find_element_by_css_selector('#changeCityBox > ul > li:nth-child(2) > a')
2. 使用较短的CSS选择器,避免使用太长的选择器,这样会增加查找元素的时间。
例如:el = web.find_element_by_css_selector('.city-list a:nth-child(2)'),这里使用了class选择器和子元素选择器来定位元素。
3. 使用显示等待来等待元素出现,而不是强制等待一段时间。
例如:from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
el = WebDriverWait(web, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.city-list a:nth-child(2)')))
阅读全文