jim*_*wan 5 javascript python selenium selenium-webdriver
我正在学习如何使用Selenium,python并尝试css在http://www.google.com上修改样式.例如,<span class="gbts"> ....</span>在该页面上.我想修改gbts课程.
browser.execute_script("q = document.getElementById('gbts');" + "q.style.border = '1px solid red';")
Run Code Online (Sandbox Code Playgroud)
是否有一个名为的API方法getElementByClass('gbts')?
您询问如何使用 JavaScript 通过 CSS 类获取元素。确实与硒无关。
无论如何,您有几个选择。您可以首先使用 Selenium 获取元素(所以在这里,是的,Selenium 是相关的):
element = driver.find_element_by_class_name("gbts")
Run Code Online (Sandbox Code Playgroud)
已经引用了这个元素,就可以很容易地给它一个边框:
driver.execute_script("arguments[0].style.border = '1px solid red';")
Run Code Online (Sandbox Code Playgroud)
(注意,arguments[0])
如果你真的必须使用JavaScript并且单独使用JavaScript,那么你的能力就非常有限。getElementByClassName这是因为JavaScript 中没有函数。仅getElementsByClassName这意味着它将返回与给定类匹配的元素列表。
因此,您必须专门针对列表中返回的要更改的元素。如果我想更改具有 类的第一个gbts元素,我会这样做:
driver.execute_script("document.getElementsByClassName('gbts')[0].style.border = '1px solid red';")
Run Code Online (Sandbox Code Playgroud)
我建议你选择第一个选项,这意味着你可以让 Selenium 为你做一些腿部工作。
| 归档时间: |
|
| 查看次数: |
7690 次 |
| 最近记录: |