You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium设置ISFinder页面Evalue参数失败求助

问题分析及解决方法

核心问题

你设置Evalue参数无效的主要原因是Algorithm parameters区域默认处于折叠状态,输入框未处于可交互的可见状态,导致Selenium即便定位到元素,也无法正常修改内容。另外你的job_title_input定位逻辑太宽泛,可能意外选中页面其他输入框,虽当前未报错,但存在潜在隐患。

解决步骤

  1. 先展开Algorithm parameters折叠区域
  2. 精准定位各输入框,避免匹配无关元素
  3. 优化输入框清空逻辑,提升操作可靠性

修改后的完整代码

# 导入必要依赖
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time

# 初始化Chrome浏览器
webBrowser = webdriver.Chrome()

# 打开目标网站
webBrowser.get('https://www-is.biotoul.fr/index.php')

# 点击TOOLS下拉菜单
tools_link = WebDriverWait(webBrowser, 60).until(EC.element_to_be_clickable((By.LINK_TEXT, 'TOOLS')))
tools_link.click()

# 选择Blast选项
blast_link = WebDriverWait(webBrowser, 60).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Blast')))
blast_link.click()

# 上传FASTA格式文件
file_input = WebDriverWait(webBrowser, 60).until(EC.presence_of_element_located((By.XPATH, "//input[@type='file']")))
file_input.send_keys("/Users/somil/Desktop/gene_bank.file/TA373.fasta")

# 精准定位Job Title输入框
job_title_input = WebDriverWait(webBrowser, 60).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='title']")))
job_title_input.send_keys("TA373")

# 关键操作:展开Algorithm parameters区域
alg_params_btn = WebDriverWait(webBrowser, 60).until(EC.element_to_be_clickable((By.XPATH, "//legend[contains(text(), 'Algorithm parameters')]")))
alg_params_btn.click()

# 定位Evalue输入框,确保元素可见
evalue_input = WebDriverWait(webBrowser, 60).until(EC.visibility_of_element_located((By.XPATH, "//input[@name='Evalue']")))

# 优化清空逻辑:全选原有内容后删除,再输入新值
evalue_input.send_keys(Keys.CONTROL + "a")
evalue_input.send_keys(Keys.DELETE)
evalue_input.send_keys("0.01")

# 点击运行Blast(可选,完成最后一步操作)
run_blast_btn = WebDriverWait(webBrowser, 60).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='Run Blast']")))
run_blast_btn.click()

代码说明

  • 新增展开Algorithm区域的操作:通过定位包含对应文本的legend元素并点击,确保参数输入框区域处于可见可交互状态。
  • 修正Job Title定位:使用@name='title'精准匹配目标输入框,避免之前宽泛定位导致的意外问题。
  • 优化Evalue清空方式:用Ctrl+A全选原有内容再删除,比clear()更适配部分页面的输入框特性,避免清空失效。
  • 补充了运行Blast的代码,可直接完成最终操作。

内容的提问来源于stack exchange,提问作者somilsharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 11:17:21