我會盡力解釋這個問題。
這個問題是關于 Python 中的 selenium 的。考慮這個例子:
for row in driver.find_elements(By.CSS_SELECTOR, "div[style='overflow: hidden;'] > div > div:nth-child(3)"):
player = row.find_element(By.CSS_SELECTOR, '> div:first-child > span').text
顯然,這第二行是錯誤的,你不能用>. 然而,這讓我想到了手頭的問題,我到底該怎么做這樣的事情?我將如何選擇元素的直接子row元素的所有 div?我知道您可以使用 XPaths 來實作這一點,但是,使用這些是一種痛苦(至少對我而言)。
uj5u.com熱心網友回復:
要使用 Selenium 和 CSS 選擇器獲取父元素的所有find_element子元素,您可以簡單地直接應用特定的 Web 元素(節點),如下所示:
for row in driver.find_elements(By.CSS_SELECTOR, "div[style='overflow: hidden;'] > div > div:nth-child(3)"):
player = row.find_element(By.CSS_SELECTOR, 'div:first-child > span').text
如果你想找到父元素的第一個直接子:scope元素,可以使用偽元素。這將為您提供與定位器匹配的節點
的第一個直接子節點:rowdiv:first-child > span
for row in driver.find_elements(By.CSS_SELECTOR, "div[style='overflow: hidden;'] > div > div:nth-child(3)"):
player = row.find_element(By.CSS_SELECTOR, ':scope > div:first-child > span').text
有關更多解釋,請參閱此答案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/526061.html
上一篇:使用pythonselenium選擇srcset的第一個元素
下一篇:鏈接重定向腳本
