我正在学习如何在 python 我尝试修改 css 风格 http://www.google.com. 。例如, <span class="gbts"> ....</span> 在该页面上。我想修改 gbts 班级。

browser.execute_script("q = document.getElementById('gbts');" + "q.style.border = '1px solid red';")

有没有称为API方法 getElementByClass('gbts') ?

有帮助吗?

解决方案

您正在询问如何使用JavaScript通过其CSS类获取元素。与硒无关 真的.

无论如何,您有一些选择。您可以首先使用Selenium抓住该元素(因此,是的,硒是相关的):

element = driver.find_element_by_class_name("gbts")

已经引用了此元素,然后很容易将其赋予边界:

driver.execute_script("arguments[0].style.border = '1px solid red';")

(注意, arguments[0])

如果您确实必须单独使用JavaScript和JavaScript,那么您非常有限。这是因为没有 getElementByClassName JavaScript中的功能。仅有的 getElementsByClassName 这意味着它将返回 列表 与给定类匹配的元素。

因此,您必须专门针对列表中的哪些元素,即返回,您想更改。如果我想更改 最先 具有一类的元素 gbts, , 我会做:

driver.execute_script("document.getElementsByClassName('gbts')[0].style.border = '1px solid red';")

我建议您选择第一个选项,这意味着您已经为您完成了腿部工作。

其他提示

您可能会发现的另一个纯JavaScript选项是使用它更灵活的是使用 document.querySelector().

它不仅会自动从为您设置的结果设置的第一个项目,而且还说您具有该类名称的多个元素,而且您知道在某个父元素中只有一个元素,您可以限制该类名称在该父元素中的搜索,例如 document.querySelector("#parent-div .gbts").

看到 (Mozilla文档) 有关更多信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top