python+selenium+webdriver定位不到页面元素,新人求帮忙,困扰几天了

使用Python+selenium+webdriver做自动化测试,发现抓取不到页面元素。我的流程是这样的:打开百度首页,输入segementfault点击搜索,选择第一个搜索结果,进入思否首页之后,不管我怎么做,页面上的所有元素都抓取不到,提示我selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: 。

但是很奇怪的是,我如果直接进入思否的首页,不通过百度搜索,就可以抓取到页面的元素,代码都是一样的,没做任何改变。

代码如下:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
print(driver.title)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('segmentfault')
driver.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(3)
driver.find_element_by_xpath("/html/body/div[1]/div[5]/div[1]/div[3]/div[1]/h3/a").click()
time.sleep(5)
driver.find_element_by_xpath('/html/body/div[4]/div/div/div[1]/div[2]/a[1]').click()
driver.find_element_by_xpath('/html/body/div[4]/div/div/div[2]/div[4]/div[1]/div/a[2]/div[1]/h4').click()

宝慕林4294392
浏览 680回答 3
3回答

跃然一笑

建议打印 raw_html 看一下

千巷猫影

需要切换 windows_handle。否则 chromedriver 的焦点还在百度那个 tab,定位不到 新 tab 页元素的。百度或者谷歌关键字 “selenium driver.current_window_handle”试试看吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python