【发布时间】:2020-10-30 10:39:44
【问题描述】:
大家好!这是我的第一个问题,我希望我没有违反任何规则。任何帮助都非常感谢 - 提前谢谢大家!
我的问题可以描述如下: 我正在尝试在两个连续的标题之间抓取内容。找到第一个标题相当容易,因为我知道它的确切名称。但是,我没有关于第二个连续标题的信息,除了它必须具有相同的样式 CSS 属性。
我的方法是找到下一个具有相同 CSS 属性的元素,例如相同的“font-size”等。但是,它不能正常运行.
这是一个简化的简短示例,说明了我正在努力实现的目标。不幸的是,我的代码总是会为我提供空结果:
##Get the attribute of the first element (header), which I found already##
attr1 = str(element.value_of_css_property("font-size"))
##Get list of items with the same css-property so that I can find the "consecutive element"
elements = driver.find_elements_by_css_selector("*[font-size='"+attr1 +"']")
由于我是编程新手,请原谅我初学者的错误。
【问题讨论】:
-
您可以改用get by XPath 吗?
-
@MichaelMü 使用相关的 HTML 更新问题
-
@Jacques:没错,使用 XPath 是更简单的方法。谢谢你的帮助! PS,这是我的解决方案:elements = driver.find_elements_by_xpath('//*[contains(@style,"'+attr1+'") or contains(@style,"'+attr2+'")]')
-
@DebanjanB:谢谢,我已经想通了。不过,非常感谢您对我的问题感兴趣!