python - Selenium:错误选择动态选择的选项
问题描述
我在 python 中使用 selenium。我不知道为什么当我尝试动态选择一个选项时出现错误。这些是我的代码:
select_season = Select(driver.find_element_by_name("_ctl0:temporadasDropDownList"))
select_season.select_by_value("2015")
这些代码工作正常,但如果我通过从变量或列表中获取它的值更改“2015”,则会出现此错误:
回溯(最后一次调用):文件“/home/josecarlos/Workspace/python/europa/main.py”,第 104 行,在 main() 文件“/home/josecarlos/Workspace/python/europa/main.py”中,第 94 行,主 FEBDocument(data) 文件“/home/josecarlos/Workspace/python/europa/parsers/feb/document/bx_document.py”,第 21 行,init self.load_all_competitions(驱动程序,数据)文件“/home/josecarlos/Workspace/python/europa/parsers/feb/document/bx_document.py”,第 114 行,在 load_all_competitions select_season.select_by_value(data[“season”])文件中“ /home/josecarlos/Workspace/python/europa/venv/lib/python3.5/site-packages/selenium/webdriver/support/select.py”,第 79 行,在 select_by_value opts = self._el.find_elements(By.CSS_SELECTOR ,css)文件“/home/josecarlos/Workspace/python/europa/venv/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py”,第685行,在find_elements {“使用”: , "value": value})['value'] 文件 "/home/josecarlos/Workspace/python/europa/venv/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py", 行633,在 _execute return self._parent.execute(command, params) 文件“/home/josecarlos/Workspace/python/europa/venv/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py”,行321,在执行self.error_handler.check_response(response)文件“/home/josecarlos/Workspace/python/europa/venv/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py”,第242行,在 check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "option[value ="2015 "]" is invalid: SyntaxError: 'option[value ="2015 "] ' 不是有效的选择器5/site-packages/selenium/webdriver/remote/webdriver.py”,第321行,在执行self.error_handler.check_response(response)文件“/home/josecarlos/Workspace/python/europa/venv/lib/python3.5 /site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "option[value=" 2015 "]" 无效:SyntaxError: 'option[value ="2015 "]' 不是有效的选择器5/site-packages/selenium/webdriver/remote/webdriver.py”,第321行,在执行self.error_handler.check_response(response)文件“/home/josecarlos/Workspace/python/europa/venv/lib/python3.5 /site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "option[value=" 2015 "]" 无效:SyntaxError: 'option[value ="2015 "]' 不是有效的选择器在 check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "option[value ="2015 "]" is invalid: SyntaxError: 'option[value ="2015 "]'不是有效的选择器在 check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "option[value ="2015 "]" is invalid: SyntaxError: 'option[value ="2015 "]'不是有效的选择器
我得到这个错误的代码是:
select_season = Select(driver.find_element_by_name("_ctl0:temporadasDropDownList"))
select_season.select_by_value(data["season"])
如何使用 python 和 selenium 从选择中动态选择一个选项?
解决方案
推荐阅读
- angular - “NgxMatDatetimePicker”类型中缺少属性“defaultColor”
' 但在 'CanColor' 类型中是必需的 - javascript - 如何以角度 9 将表格数据从一个组件推送/传递到另一个组件?
- javascript - 处理按钮在输入内的点击
- php - 在 PHP 中安全地上传视频
- c - 如何正确使用 nanosleep() 以特定频率运行代码?
- java - 如何以 byte[] 的形式将 Base64 解码图像发送到 Java 中的 HttpPost
- java - 猜测 Sting 单词 java 中的符号
- java - 有人可以告诉我为什么 ListView 没有显示吗?
- python - 带有进程池和自定义管理器的 Python 多处理事件
- groovy - 如何在 jmeter 发布请求中发送 id 数组(存储在 csv 中)