【发布时间】:2020-01-17 07:48:21
【问题描述】:
我有一个这样的 HTML 元素
<select id="my_id">
<option value="">ALL</option>
<option value="1.0">ALL</option>
<option value="2.0">A</option>
<option value="3.0">B</option>
<option value="4.0">C</option>
</select>
当我在测试文件中使用定义函数时,我想选择并选择一个值 它会正常工作
my_test_file.py
def _find_and_select(self, elm_id, value):
select_item = Select(self.browser.find_element_by_id(elm_id))
select_item.select_by_value(value)
self._find_and_select("my_id", "1.0")
但是当我移动到一个通用的测试文件时
common_file.py
class Common:
@staticmethod
def _find_and_select(browser, elm_id, value):
select_item = Select(browser.find_element_by_id(elm_id))
select_item.select_by_value(value)
my_test_file.py
Common._find_and_select(self.browser, "my_id", "1.0")
会报错:
Traceback (most recent call last):
File "D:\iBNet-Prj\ibnet\apps\autotest\contract\tests.py", line 251, in test_search
CommonTest._find_and_select(self.browser, "contractLoanStatus", loanStatus[0])
File "D:\iBNet-Prj\ibnet\apps\common_test.py", line 467, in _find_and_select
select_item = Select(browser.find_element_by_id(elm_id))
File "D:\iBNet-Prj\venv\lib\site-packages\django\forms\widgets.py", line 558, in __init__
super().__init__(attrs)
File "D:\iBNet-Prj\venv\lib\site-packages\django\forms\widgets.py", line 201, in __init__
self.attrs = {} if attrs is None else attrs.copy()
AttributeError: 'WebElement' object has no attribute 'copy'
【问题讨论】:
标签: python django selenium selenium-webdriver webdriver