如何在Selenium Python execute_script中获取返回元素的值
How to get value of returned element in Selenium Python execute_script?
I使用SeleniumPython绑定来查找一些元素。在某些地方,我需要使用executescript方法。执行此脚本时返回的值很热吗?
所以我放了:
browser = driver.Chrome() #for example
script = "document.getElementById('element')"
browser.execute_script(script)
如何从该脚本将值接收到python日志或变量中?像元素的ID、文本等。?
我遇到了一个问题,selenium找不到一些元素,但chrome上的JavaScript控制台找到了它。
因此,我尝试在execute脚本方法中添加一个"return"字符串,在您的情况下是:
browser = driver.Chrome()
myElement = browser.execute_script("return document.getElementById('element_id')")
您还可以像使用SeleniumWeb元素那样执行不同的操作。
示例:
browser = driver.Chrome()
elementList = browser.execute_script("return document.getElementsByClassName('element_class_name')")
elementList[0].click() # Clicks the first element from list
我希望这能有所帮助!
从js-doc(可以在那里找到python api)
如果脚本具有返回值(即,如果脚本包含return语句),则将对解析此函数返回值:-对于HTML元素,该值将解析为网络驱动程序。WebElement-Null和未定义的返回值将解析为Null
-布尔值、数字和字符串将按原样解析函数将解析为他们的字符串表示-对于数组和对象,每个成员项将根据上述规则进行转换
附言:为什么需要使用executeScript查找元素?
相关文章:
- AJAX调用并在Node中获取返回数据
- 我无法从javascript函数中获取返回代码
- 从ID Jquery类获取返回值时出现问题
- 从 html.append 追加的 html 下拉列表中获取返回值
- 如何从 store.sync();获取返回消息
- 当我只想要1时,获取返回的所有错误消息
- 当涉及iframe时,获取返回按钮以处理父页
- 如何从Ajax请求中获取返回值并将其分配到元素中
- 无法从从sql数据库读取的javascript函数中获取返回数组
- jQuery deferred:用于延迟函数的返回,直到函数内的异步调用完成+获取返回值
- 如何使用Ajax内部调用JQuery在函数中获取返回值
- 在我的情况下,如何从 ajax 获取返回的数据
- 获取返回的数据表的大小(以像素为单位)
- 如何使用 iframe.src 下载文件时获取返回状态代码
- 获取返回空值的元素 { 绝对|相对|固定 }
- 如何通过javascript将输入字段的值发送到php文件并获取返回的值
- 从回调函数 -JQuery 获取返回值
- 主干 - 传递从获取返回的正确模型
- 如何从 获取返回对象的类型.POST ajax 调用
- Ajax 发布到 PHP 并获取返回数据