def test_handles_custom_attributes(self, browser, mocker, expect_one, expect_all):
div1 = element(mocker, values={'tag_name': 'div'}, attrs={'custom_attribute': 'foo'})
span = element(mocker, values={'tag_name': 'span'}, attrs={'custom_attribute': 'foo'})
div2 = element(mocker, values={'tag_name': 'div'}, attrs={'custom_attribute': 'foo'})
expect_one.return_value = span
expect_all.return_value = [div1, span, div2]
selector = {'custom_attribute': 'foo', 'tag_name': 'span'}
result = locate_one(browser, selector)
expect_one.assert_called_once_with(By.XPATH, ".//span[@custom-attribute='foo']")
assert result.tag_name == 'span'
# with special cased selectors
评论列表
文章目录