栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果我们使用find_element而不是find_element_by,则会出现错误“传入无效的定位器值”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如果我们使用find_element而不是find_element_by,则会出现错误“传入无效的定位器值”

根据该文件,您可以使用

find_element_by_*
快捷键,或
find_element()
find_elements()
“私有”的直接方法:

除了上面给出的公共方法外,还有两个私有方法可能对页面对象中的定位器很有用。这是两个私有方法:find_element和find_elements。

用法示例:

from selenium.webdriver.common.by import Bydriver.find_element(By.XPATH, '//button[text()="Some text"]')driver.find_elements(By.XPATH, '//button')

但是,在您的情况下,您没有传递2个参数,而是

find_element()
传递了一个-a
tuple

NEWS_OPTION
。您只需要将元组解压缩为位置参数:

NEWS_OPTION = (By.ID, 'blq-nav-news')myDynamicElement = driver.find_element(*NEWS_OPTION)

或者,作为替代方案,您也可以使用关键字参数:

NEWS_OPTION = {'by': By.ID, 'value': 'blq-nav-news'}myDynamicElement = driver.find_element(**NEWS_OPTION)

而且,每当您对事物的工作方式有任何疑问时,只需挖掘源代码并自己进行澄清即可。在这种情况下,请查看

find_element_by_id()
方法的实际实现方式:

def find_element_by_id(self, id_):    """Finds an element by id.    :Args:     - id_ - The id of the element to be found.    :Usage:        driver.find_element_by_id('foo')    """    return self.find_element(by=By.ID, value=id_)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号