使用Web表Selenium + Python中的定位符比较元素

问题描述 投票:0回答:1

所以想法-我需要检查“绿色箭头”数字是否与“红色箭头”数字相同。此数字始终使用不同的数字生成。因此,我为“红色箭头”创建了变量“ first_value”,为“绿色箭头”创建了“ second_value”。而且一切正常(我认为),但是我使用了难看的Xpath,所以有人可以帮我使Xpath变得更漂亮,还是请提供另一个定位器?我不知道我可以使用哪种定位器

first_value = wait.until(EC.visibility_of_element_located((By.XPATH, "/html/body/form/div[4]/div[2]/div/table/tbody/tr[4]/td/div[1]/div[2]/div[2]/table/tbody/tr[5]/td/table/tbody/tr[2]/td/div/div/table/tbody/tr[2]/td[7]"))).text

second_value = wait.until(EC.text_to_be_present_in_element((By.XPATH, "/html/body/form/div[4]/div[2]/div/table/tbody/tr[4]/td/div[1]/div[2]/div[2]/table/tbody/tr[5]/td/table/tbody/tr[2]/td/div/div/table/tbody/tr[1]/td[1]"), (first_value)))

enter image description here

python selenium variables selenium-webdriver xpath
1个回答
0
投票

您宁可使用get_attribute('outerHTML')提取表的整个HTML。然后使用pandas库或类似这样的简单解析器来解析整个表:https://github.com/yuanxu-li/html-table-extractor这将为您提供一个python对象。

然后比较值。这应该不太容易出错。

OR

用以下命令启动您的XPATH//tr[@class='GridRowDefault']/...//tr[@class='GridAltRowDefault']/...分别。

© www.soinside.com 2019 - 2024. All rights reserved.