我試圖找到<a href=....> 里面的所有元素<div id="contents" ...>
這是HTML代碼:
<div id="contents" class="style-scope">
<div id="dismissible" class="style-scope">
<a id="thumbnail" href="http://www.test.com">
這是我的python代碼:
items = driver.find_elements(By.cssSelector("div[id="contents"] a[id="thumbnail"]"))
它給了我錯誤:
SyntaxError: invalid syntax. Perhaps you forgot a comma?
我需要把逗號放在哪里?
uj5u.com熱心網友回復:
此錯誤訊息...
SyntaxError: invalid syntax. Perhaps you forgot a comma?
...暗示您使用的css_selector包含SyntaxError。
深潛
有兩種寫法css 選擇器如下:
您要么在單引號 ie 中提及屬性的值,
'...'在雙引號 ie 中提及整個定位器"..."。例子:"tag_name[attribute_name='attribute_value']"或者您在雙引號 ie 中提到屬性的值,
"..."在單引號 ie 中提到整個定位器'...'。例子:'tag_name[attribute_name="attribute_value"]'
解決方案
<a href=....>要識別您內部的所有元素,<div id="contents" ...>可以使用以下定位器策略:
elements = driver.find_elements(By.CSS_SELECTOR, "div[id='contents'] a[href]")
但是,如果是css_selector:
- 類屬性可以縮短為
.element_class - id屬性可以縮短為
#element_id
準確地說,您的定位器策略可以是:
elements = driver.find_elements(By.CSS_SELECTOR, "div#contents a[href]")
獲得粒度
為了更規范,您可能還想考慮元素的id屬性,<a>即thumbnail. 如此有效的定位器策略將是:
elements = driver.find_elements(By.CSS_SELECTOR, "div#contents a#thumbnail[href]")
uj5u.com熱心網友回復:
這是一個與語法相關的錯誤。您是否正在嘗試列出包含不同 HTML 的 web 元素?
items = driver.find_elements(By.CSS_SELECTOR,"a#thumbnail")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/434333.html
標籤:Python python-3.x 硒 硒网络驱动程序 css 选择器
上一篇:需要使用chromedriver和selenium從URL截屏
下一篇:命令列與C++
