【发布时间】:2023-02-04 01:40:01
【问题描述】:
我正在尝试拆分我找到的元素的坐标
elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//span[text() ='100']")))
当我只需要找到只出现一次的元素的坐标时,我只使用 .location,但我的问题是当我必须找到出现多次的元素时。我试过这样做,但没有用
elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//span[text() ='100']")))
elementlist = []
for element in elements:
elementlocation = element.location
elementlist.append(location)
print(elementlist)
x,y = elementlist.split(",")
print(x,y)
我尝试获取多次出现的元素的坐标列表,将它们拆分为单独的变量 x、y 并打印出来
更新 :
<div class="gl-MarketGroup_Wrapper ">
<div class="srb-Market25Wrapping gl-Market_General gl-Market_General-columnheader gl-Market_General-haslabels gl-Market_General-pwidth12-5 ">
<div class="srb-ParticipantLabelCentered gl-Market_General-cn1 ">
<div class="srb-ParticipantLabelCentered_Name ">100</div>
</div>
<div class="srb-ParticipantLabelCentered gl-Market_General-cn1 ">
<div class="srb-ParticipantLabelCentered_Name ">110</div>
</div>
<div class="srb-ParticipantLabelCentered gl-Market_General-cn1 ">
<div class="srb-ParticipantLabelCentered_Name ">120</div>
</div>
<div class="srb-ParticipantLabelCentered gl-Market_General-cn1 ">
<div class="srb-ParticipantLabelCentered_Name ">130</div>
</div>
</div>
<div class="srb-Market375Wrapping gl-Market_General gl-Market_General-columnheader gl-Market_General-pwidth18-75 ">
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">1</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">2</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">3</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">1</span>
</div>
</div>
<div class="srb-Market375Wrapping gl-Market_General gl-Market_General-columnheader gl-Market_General-pwidth18-75 ">
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">2</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">1</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">1</span>
</div>
<div class="gl-ParticipantOddsOnly gl-Participant_General gl-Market_General-cn1 ">
<span class="gl-ParticipantOddsOnly_Odds">2</span>
</div>
</div>
</div>
我想找到包含与包含文本“110”的元素高度相同的文本“1”的元素
【问题讨论】:
-
“它不起作用”你有错误吗?我认为您应该将
elementlist.append(location)替换为elementlist.append(elementlocation) -
您会看到
elementlist是list的类型,而list对象没有名为split的属性。您需要做的是拆分列表中的每个元素。 -
为什么要获取每个元素的 x,y 值?你打算用它做什么?即使是多次出现的元素也会有不同的位置......为什么要将它们分成 x,y 对?
-
@JeffC 我想将它们的 x、y 坐标与其他元素进行比较,并取决于列表中的一个元素的 y 坐标是否匹配以执行某项操作,如果不匹配则执行其他操作
-
您是要处理表格行中的元素还是?我只是想了解您的情况,看看是否有更简单的方法。
标签: python selenium selenium-webdriver