Python Selenium:从执行javascript获取WebElement
但是,Python Selenium:从执行javascript获取WebElement,python,selenium,Python,Selenium,但是,get\u element()始终不返回任何值。我希望它能给我一个Selenium Web元素。当我在浏览器上执行javascript时,它会给我DOM节点元素。您试图使javascript DOM对象等于python元素。它不能像那样自动转换。您必须使用代码从返回的javascript版本中的返回对象构建元素的Selenium版本。就我个人而言,我会使用纯javascript对元素执行任何操作,并返回可以自动转换的简单类型的对象(即string、int、string/int数组等) 以下
get\u element()
始终不返回任何值。我希望它能给我一个Selenium Web元素。当我在浏览器上执行javascript时,它会给我DOM节点元素。您试图使javascript DOM对象等于python元素。它不能像那样自动转换。您必须使用代码从返回的javascript版本中的返回对象构建元素的Selenium版本。就我个人而言,我会使用纯javascript对元素执行任何操作,并返回可以自动转换的简单类型的对象(即string、int、string/int数组等)
以下是一篇文章,提供了一些帮助:
如果您确实希望能够执行javascript并获取DOM对象并将其转换为Selenium元素,我建议您熟悉Selenium代码库,了解它具体如何进行DOM选择,以及它如何将其转换为IWebElement接口实现 你到底为什么要通过JavaScript而不是本机Selenium代码来查找ID元素?我正在使用python,但另一篇文章主要是关于JavaScript的,如果你这样做的话,你已经有了执行JavaScript的python代码。否则,代码链接将指向python代码项目。
def get_element():
return browser.execute_script("return document.getElementById('dsq')")