有没有人知道是哪里错了,眼拙找不出来心累!xpath定位错了吗,我对照了好几遍
3条回答 默认 最新
- 檀越@新空间 2024-04-14 16:15关注
下午好🌅🌅🌅
本答案参考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)
希望以上解决方案能够帮助你解决问题。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用