问题分析

  1. 可能是没有加载完成,元素找不到。
  2. 元素加载完成,但是元素需要点击按钮,才会触发元素插入进来
  3. 元素加载完成,看到的值和实际后台传输的值是不一致的
  4. 元素加载完成,本质是只有属性,是没有值的。看到的都是临时函数调用显示出来的

解决方案

针对第一种

  1. 可以适当延长休眠时间来等待元素加载完成
  2. 显示等待元素加载完成
element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.ID, "myElement")))
element.click()

针对第二种

  1. 先使用selenium根据xpath等方式选中元素,并点击
  2. 点击后再显示等待1秒,重新选取元素即可

针对第三种

select_element = driver.find_element_by_id("下拉列表的ID") 
# 创建Select对象  
select = Select(select_element)  

# 通过索引选择(索引从0开始)  
select.select_by_index(1)  
# 通过值选择  
select.select_by_value("选项的值")  
# 通过可见文本选择  
select.select_by_visible_text("显示的文本") 

针对第四种

  1. 使用xpath等方式来点击
  2. 使用JavaScript来点击
posted on 2024-08-06 10:36  topass123  阅读(11)  评论(0编辑  收藏  举报