2 回答
TA贡献1810条经验 获得超4个赞
arguments是您从 Python传递给要执行的JavaScript 的内容。
driver.execute_script("arguments[0].removeAttribute('style')", element)意味着您想arguments[0]用存储在element变量中的WebElement “替换” 。
这与您在 JavaScript 中定义该元素是一样的:
driver.execute_script("document.querySelector('select.m-tcol-c#searchBy').removeAttribute('style')")您还可以传递更多参数作为
driver.execute_script("arguments[0].removeAttribute(arguments[1])", element, "style")TA贡献1946条经验 获得超3个赞
根据文档execute_script()方法在当前窗口/框架中同步执行JavaScript并定义为:
execute_script(script, *args)
Synchronously Executes JavaScript in the current window/frame.
Where:
script: The JavaScript to execute.
*args: Any applicable arguments for your JavaScript.
根据您提供的示例:
element = driver.find_element_by_xpath("//select[@class='m-tcol-c' and @id='searchBy']")
driver.execute_script("arguments[0].removeAttribute('style')", element)
arguments[0].removeAttribute('style'): 指要通过execute_script()方法同步执行的脚本,其中:
arguments[] 将是将通过的元素的引用 *args
removeAttribute() 是要执行的方法。
style是removeAttribute()将调用该方法的属性。
element是传递给的WebElement的引用arguments[0]
添加回答
举报
