为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

宝慕林4294392 2019-02-19 22:43:36
使用Python+selenium+webdriver做自动化测试,发现抓取不到页面元素。我的流程是这样的:打开百度首页,输入segementfault点击搜索,选择第一个搜索结果,进入思否首页之后,不管我怎么做,页面上的所有元素都抓取不到,提示我selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: 。 但是很奇怪的是,我如果直接进入思否的首页,不通过百度搜索,就可以抓取到页面的元素,代码都是一样的,没做任何改变。 代码如下: from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport timedriver = 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()
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

建议打印 raw_html 看一下

查看完整回答
反对 回复 2019-03-01
?
千巷猫影

TA贡献1829条经验 获得超7个赞

需要切换 windows_handle。否则 chromedriver 的焦点还在百度那个 tab,定位不到 新 tab 页元素的。
百度或者谷歌关键字 “selenium driver.current_window_handle”
试试看吧

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 679 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信