查找具有 2 个属性的跨度 Selenium
Find span with 2 attributes Selenium
只是想用 selenium 编写一个网络抓取工具,它在 div 中搜索一个跨度,这个跨度有另一个带有标题的跨度。
<div class="col-lg-3 col-6 attributes-column"><div class="p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD4SURBVHgB3ZXNEYIwEIVfGA/iiRLszBawArACpQOtDDrAEwkX1iyQ8WY2BDj4zfAzzNtskn1sgI1R7qXXfUFEuf2SeaMIb3t/Hk/HqyiBMeZug3IEQqBbmqalV2g60xptSGt9hgDWsb43fSvRg8V8IQBpzAHLacTKJSuQkmBjRFsUY2HvCtjC1o6laHCGdQq5dVr5HeRHDWIt7K/BPHP7QzUQ4HR2SzNZgkimBFNhIN2G4ASkqOKngqrnetRYiTEBN6yBhsqtZFdi+9RORf7vBIEWdjql1BjnbXZsYWvfYrYwpNBArzGRRNx13SNBcpF2U56U6Kxegw+CobhgOuqV7gAAAABJRU5ErkJggg==" alt="copy"><span class="fs-11px text-uppercase letter-spacing-3 text-truncate tw-text-secondary" title="Total Volume (ALL Time, ALL Marketplaces)">Total Volume (ALL Time, ALL Marketplaces)</span><span class="text-white fs-14px text-truncate attribute-value" title="5325.23 ◎">5325.23 ◎</span></div></div>
问题是这个 class 有多个 div。所以我必须只找到这个 div ,它的跨度为 title=Total Volume (ALL Time, ALL Marketplaces) 然后用 class=text-white fs 打印跨度-14px text-truncate attribute-value
谁能帮我解决这个问题?
所以我只能在 div?
中废弃正确的跨度
非常感谢<3
我认为这会有所帮助:
WebElement el=driver.findElement(By.xpath("//div//span[contains(text(),'Total Volume')]//following-sibling::span "));
System.out.println(el.getText());
您可以通过多种方式找到 span
和 class=text-white fs-14px text-truncate attribute-value
。我更喜欢这个 XPath:
//div[contains(@class,'attributes-column') and .//span[@title='Total Volume (ALL Time, ALL Marketplaces)']]//span[contains(@class,'attribute-value')]
只是想用 selenium 编写一个网络抓取工具,它在 div 中搜索一个跨度,这个跨度有另一个带有标题的跨度。
<div class="col-lg-3 col-6 attributes-column"><div class="p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD4SURBVHgB3ZXNEYIwEIVfGA/iiRLszBawArACpQOtDDrAEwkX1iyQ8WY2BDj4zfAzzNtskn1sgI1R7qXXfUFEuf2SeaMIb3t/Hk/HqyiBMeZug3IEQqBbmqalV2g60xptSGt9hgDWsb43fSvRg8V8IQBpzAHLacTKJSuQkmBjRFsUY2HvCtjC1o6laHCGdQq5dVr5HeRHDWIt7K/BPHP7QzUQ4HR2SzNZgkimBFNhIN2G4ASkqOKngqrnetRYiTEBN6yBhsqtZFdi+9RORf7vBIEWdjql1BjnbXZsYWvfYrYwpNBArzGRRNx13SNBcpF2U56U6Kxegw+CobhgOuqV7gAAAABJRU5ErkJggg==" alt="copy"><span class="fs-11px text-uppercase letter-spacing-3 text-truncate tw-text-secondary" title="Total Volume (ALL Time, ALL Marketplaces)">Total Volume (ALL Time, ALL Marketplaces)</span><span class="text-white fs-14px text-truncate attribute-value" title="5325.23 ◎">5325.23 ◎</span></div></div>
问题是这个 class 有多个 div。所以我必须只找到这个 div ,它的跨度为 title=Total Volume (ALL Time, ALL Marketplaces) 然后用 class=text-white fs 打印跨度-14px text-truncate attribute-value
谁能帮我解决这个问题? 所以我只能在 div?
中废弃正确的跨度非常感谢<3
我认为这会有所帮助: WebElement el=driver.findElement(By.xpath("//div//span[contains(text(),'Total Volume')]//following-sibling::span ")); System.out.println(el.getText());
您可以通过多种方式找到 span
和 class=text-white fs-14px text-truncate attribute-value
。我更喜欢这个 XPath:
//div[contains(@class,'attributes-column') and .//span[@title='Total Volume (ALL Time, ALL Marketplaces)']]//span[contains(@class,'attribute-value')]