gpt4 book ai didi

javascript - 使用 javascript 执行器为 selenium webdriver ruby​​ 绑定(bind)脚本启用禁用字段

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:47 25 4
gpt4 key购买 nike

我正在 Selenium Webdriver 脚本中编写以下 Ruby 代码,以通过 Javascript 执行程序在 UI 上启用禁用的字段。

browser.execute_script("browser.find_element(:xpath,'/html/body/div[5]/div/div[3]/div[2]/div[2]/div/div/div/div/div/div/input'.disabled = false")

但是面对,

`handleEvaluateEvent': 语法错误 (Selenium::WebDriver::Error::JavascriptError)

我的语法有什么问题吗?

任何帮助将不胜感激。

谢谢!阿比舍克

最佳答案

问题

线路问题:

browser.execute_script("browser.find_element(:xpath,'/html/body/div[5]/div/div[3]/div[2]/div[2]/div/div/div/div/div/div/input'.disabled = false")

它是否正在尝试执行 selenium-webdriver 代码而不是 javascript - 即 browser.find_element 不是 javascript。

解决方案

相反,请执行以下操作:

input_field = browser.find_element(:xpath, '/html/body/div[5]/div/div[3]/div[2]/div[2]/div/div/div/div/div/div/input')
browser.execute_script('arguments[0].removeAttribute("disabled");', input_field)

注意:

  1. 我们可以使用 selenium-webdriver 定位该元素,然后将该元素传递给 execute_script(作为 arguments[0])使用。
  2. 要使某个字段不再禁用,您实际上需要删除禁用的属性(而不是将其值设置为 false)。
  3. 您应该小心使用这样一个明确的 xpath,因为它可能非常脆弱 - 例如,一个小的改变就会破坏它。

关于javascript - 使用 javascript 执行器为 selenium webdriver ruby​​ 绑定(bind)脚本启用禁用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23117839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com