Okaymao 发表于 2020-11-25 02:47:06

关于selenium的定位问题

自动测试访问百度新闻的时候,用xpath方法访问热点新闻提示no such element: Unable to locate element:
元素路径没问题,查看网页代码也没有在iframe框架下,休眠时间也给了20秒,岁表查哪条都没成功
求解,谢谢
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
time.sleep(1)
browser.find_element_by_xpath('//a').click()
time.sleep(20)
browser.find_element_by_xpath('//*[@id="pane-news"]/div/ul/li/strong/a').click()

逃兵 发表于 2020-11-25 09:39:06

修改了一下你的代码,首先时间上可以用implicitly_wait(10)等待响应时间
其次你没有切换窗口,点开新窗口后,browser还停留在百度首页
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.implicitly_wait(10) #等待响应时间10s
browser.maximize_window() #最大化
browser.get("https://www.baidu.com/")
browser.find_element_by_xpath('//a').click()
browser.switch_to.window(browser.window_handles[-1]) #将窗口切换到最右侧窗口,不切换的话,你还在百度首页
browser.find_element_by_xpath('//*[@id="pane-news"]/div/ul/li/strong/a').click()

Okaymao 发表于 2020-11-25 19:29:08

逃兵 发表于 2020-11-25 09:39
修改了一下你的代码,首先时间上可以用implicitly_wait(10)等待响应时间
其次你没有切换窗口,点开新窗口 ...

谢谢,我也发现这个问题了,要切换下句柄{:5_106:}
页: [1]
查看完整版本: 关于selenium的定位问题