这个错误提示表明无法定位到元素,可能是因为XPath表达式不准确或者元素尚未加载完全。你可以尝试添加延时等待来确保元素的加载完成。以下是修改后的代码示例:from selenium import webdriverfrom selenium.webdriver.common.by import Byimport timewd = webdriver.Edge(r"C:\Users\lzy\Desktop\msedgedriver.exe")wd.get('https://i.chaoxing.com/base?vflag=true&fid=29&backUrl=http://v2.chaoxing.com')wd.implicitly_wait(20)phone = wd.find_element(By.ID, 'phone')phone.send_keys('xxx')pwd = wd.find_element(By.ID, 'pwd')pwd.send_keys('xxx')login = wd.find_element(By.ID, 'loginBtn')login.click()course = wd.find_element(By.NAME, '课程')course.click()time.sleep(10)# 等待元素加载完成time.sleep(5)# 使用精确的XPath表达式来定位元素gjaq = wd.find_element(By.XPATH, "//a[contains(text(),'人力资源招聘与选拔')]")gjaq.click()
我在XPath表达式里使用了`contains`函数来匹配包含指定文本的链接元素。另外,在点击链接前添加了额外的延时等待,以确保元素已经完全加载。希望这次的解决方案能够解决问题!如果还有其他问题,请随时提问。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |