1 回答
TA贡献1816条经验 获得超4个赞
您可以使用 css 选择器获取相关的 li 项,如下所示:
通过css选择器通过索引查找子元素
$(".content > ul > li:nth-child(2)").textContent >>> "Shipping Weight: 33 pounds (View shipping rates and policies)"
$(".content > ul > li:nth-child(3)").textContent >>> "ASIN: B07QKN2ZT9"
相关的python selenium代码:
driver.find_element_by_css_selector(".content > ul > li:nth-child(3)").text.split(": ")[1] >>> 'B07QKN2ZT9'
通过 XPATH 查找祖先元素
如果 ASIN 并不总是在同一个索引中,那么您可以找到bdi具有文本文本的元素ASIN并找到它,ancestor::li然后获取其文本并提取相关部分。像下面这样:
driver.find_element_by_xpath("//bdi[text()='ASIN']/ancestor::li").text.split(": ")[1] >>> 'B07QKN2ZT9'
生成 XPATH
//<element type>[<attribute type> = <attribute value>]/<descendant>
//bdi[text() = 'ASIN'] >>> bdi element with text 'ASIN'
//bdi[@dir = 'ltr'] >>> bdi element with dir attribute equals to 'ltr'
访问元素的祖先
/ancestor::<ancestor element type>
//bdi[text()='ASIN']/ancestor::li >>> li
//bdi[text()='ASIN']/ancestor::ul >>> ul
你可以检查这个作为参考
添加回答
举报