繁体   English   中英

如何在带有硒的 Python 中使用 JavaScript 获取 Select 的“selectedIndex”属性

[英]How to get the 'selectedIndex' property of a Select using JavaScript in Python with selenium

我正在尝试执行 JavaScript 脚本以从Select webelement 中获取所选选项的索引,如下所示:

@property
def selected_option_index(self):
    index = driver.execute_script('arguments[0].selectedIndex', self.select_field)
    return index

但结果是None

当我尝试更直接的方法时也会发生同样的情况,例如:

index = driver.execute_script('document.querySelector(\'select[name="vehicleType"]\').selectedIndex')

调试结果

但是,当我尝试运行以下 JavaScript 时:

typeSelectIndex = document.querySelector('select[name="vehicleType"]').selectedIndex

在开发人员工具 - 控制台中,结果没问题:

15

开发者工具查询结果

应该如何构建 Python 代码以获得所需的结果?

您在 javascript 中缺少 return 关键字。 请尝试以下操作。

@property
def selected_option_index(self):
    index = driver.execute_script('return arguments[0].selectedIndex', self.select_field)
    return index

或者

index = driver.execute_script('return document.querySelector(\'select[name="vehicleType"]\').selectedIndex')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM