有没有人知道是哪里错了,眼拙找不出来心累!xpath定位错了吗,我对照了好几遍

下午好🌅🌅🌅
本答案参考ChatGPT-3.5
首先,根据你的代码简介,存在以下问题:
1.在定位元素时,使用了By.XPATH,但是By.XPATH后面需要传入字符串,你在传参时应该使用value=而不是value:。
2.在查找job_name时,没有将其赋值给变量,可以使用job_name = i.find_element(By.XPATH, value='//*[@id="rc-tabs-0-panel-hot"]/div[2]/div[*]/div[1]/a/div[1]/span/div/div/div[1]/span')来解决。
3.函数声明中的by:str By.ID应该为by:str=None, value:Any=None。
解决方案:
1.更改代码,将By.XPATH后面的参数替换为value=,例如lists = web.find_elements(By.XPATH, value='//*[@id="rc-tabs-0-panel-hot"]/div[2]/div')。
2.添加变量名job_name =,例如job_name = i.find_element(By.XPATH, value='//*[@id="rc-tabs-0-panel-hot"]/div[2]/div[*]/div[1]/a/div[1]/span/div/div/div[1]/span')。
3.更正find_element函数的声明,修改成def find_element(self, by:str=None, value:Any=None)->WebElement。
下面是修改后的代码:
lists = web.find_elements(By.XPATH, value='//*[@id="rc-tabs-0-panel-hot"]/div[2]/div')
print(lists)
for i in lists:
job_name = i.find_element(By.XPATH, value='//*[@id="rc-tabs-0-panel-hot"]/div[2]/div[*]/div[1]/a/div[1]/span/div/div/div[1]/span').text
print(job_name)
希望以上解决方案能够帮助你解决问题。