gpt4 book ai didi

python - 在 python selenium 中使用 get_attribute() 查找 xpath

转载 作者:行者123 更新时间:2023-12-05 04:32:12 32 4
gpt4 key购买 nike

这是一种有点落后的网络抓取方法。在我已经找到带有 text()= 标识符的 Web 元素之后,我需要找到它的 xpath

因为 xpath 值根据显示的信息而不同,我需要在行内使用可预测的标签来定位找到的元素旁边的跨度文本。我发现一种简单可靠的方法是定位关键字标签,然后在 xpath 中将 td 整数增加一个。

    def x_label(self, contains):
mls_data_xpath = f"//span[text()='{contains}']"
string = self.driver.find_element_by_xpath(mls_data_xpath).get_attribute("xpath")
digits = string.split("td[")[1]
num = int(re.findall(r'(\d+)', digits)[0]) + 1
labeled_data = f'{string.split("td[")[0]}td[{num}]/span'
print(labeled_data)
labeled_text = self.driver.find_element_by_xpath(labeled_data).text
return labeled_text

我找不到太多关于 .get_attribute() 和 get_property() 的信息,所以我希望有类似 .get_attribute("xpath") 的信息,但我没能找到它。

基本上,我正在接受一个像“ApprxTotalLivArea”这样的字符串,我可以依赖它,然后将 td[0] 之后的整数增加 1,以从隔壁的单元格中找到跨度数据。我希望有类似 get_attributes("xpath") 的东西可以从我通过 text()='{contains}' 搜索找到的元素中找到 xpath 字符串。

I need to use predictable labels inside the row for locating the span text next to element

最佳答案

Remote WebElement确实包括以下方法:

但是 xpath 不是 WebElement 的有效属性。所以 get_attribute("xpath") 将始终返回 NULL

关于python - 在 python selenium 中使用 get_attribute() 查找 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71699032/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com