我需要从这个页面中检索这些元素:
考虑我正在使用selenium webdriver和XPath for Python。
那个特殊的div(黑暗的一个)在xpath中引用为:
//*[@id="stadium"]/div[2]/div[2]/div[2]/div[9]
所以我的代码是:
playID =[]
dtype = []
events = driver.find_elements_by_xpath('//*[@id="stadium"]/div[2]/div[2]/div[2]/div[9]')
for a in events:
dtype.append(a.get_attribute('data-type'))
playID.append(a.get_attribute('data-player-id'))
print(playID)
print(dtype)
但似乎,它只从黑暗的div而不是从孩子那里检索数据。
如何修改我的XPath表达式以获取所有有趣的数据(图中突出显示的红色)?考虑一些div有很多孩子,而其他人可能有更多或更少,所以它不会帮助指定内部div,因为另一个页面可能会错过它们,一般来说我不知道有多少内部div在特定的一个(如黑暗的)。我希望能够清楚地解释自己。 :)
抱歉我的英语不好,请考虑我不是开发人员,这只是为了好玩,所以请原谅糟糕的编码。 :)
我想我已经搜索过这个答案,但我找不到足够清楚的东西来解决我的问题。
答案 0 :(得分:0)
拥有这样一个特定的查询( let fbEmail = data["email"]
let fbName = data["name"]
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination as? CreateAccountVC
vc!.emailTxt = self.fbName
vc!.fullnameTxt = self.fbEmail
}
)通常不是一个好主意。如果班级"玩家 - 键 - 事件"这是独一无二的,这应该有效:
'//*[@id="stadium"]/div[2]/div[2]/div[2]/div[9]'
你可以使用CSS选择器做类似的事情:
events = driver.find_elements_by_xpath('//div[@class="player-key-incidents"]/div')
这两个命令是使用类" player-key-events"来查找div的子节点。