Selenium(PYTHON) 如何操作属性

Selenium(PYTHON) How to manipulate attributes

所以这更像是一个概念性问题,但我无法理解我是否可以操纵 class 的属性,我知道如何浏览元素,但如果我想在我的例子中,隐藏元素,在下面的代码中,我有一个 for 循环 运行 通过一堆 class 不断 dis/re 出现在屏幕上的硬币,所以我有在我可以 运行 遍历所有索引之前对它们进行计数,因此 'count = len' 但我做了一个打印语句,甚至显示代码 运行 正确地遍历了所有索引,但它们不会隐藏在屏幕,我做错了什么

count = len(driver.find_elements_by_class_name('coinlist'))


for x in range(count):

    x += 1
    flip = driver.find_element_by_xpath(f"//ul[@class='coinlist']/div[{str(x)}]")
    flip.isdisplayed() = false

必须使用driver.execute_script()配合JS修改DOM。

count = len(driver.find_elements_by_class_name('coinlist'))

for x in range(count):
    
    x += 1
    flip = driver.find_element_by_xpath(f"//ul[@class='coinlist']/div[{str(x)}]")
    driver.execute_script("arguments[0].setAttribute('style','visibility:hidden;');", flip)

应该 做到这一点

回溯(最近调用最后): 文件“C:\Users\adamj\OneDrive\Desktop\python\test.py”,第 38 行,位于 driver.execute_script("arguments[0].setAttribute('style',visibility:hidden;');", flip) 文件“C:\Users\adamj\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 634 行,在 execute_script return self.execute(命令,{ 文件“C:\Users\adamj\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 321 行,在执行中 self.error_handler.check_response(回应) 文件“C:\Users\adamj\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response 中 提高 exception_class(消息、屏幕、堆栈跟踪) selenium.common.exceptions.JavascriptException:消息:javascript 错误:参数列表后缺少 ) (会话信息:chrome=87.0.4280.141)