lymww 发表于 2023-1-13 18:31:19

关于Selenium定位的问题

本帖最后由 lymww 于 2023-1-14 17:08 编辑

我在火狐的firepath中能够定位到信息,但是在pycharm中进行定位时,返回定位结果为空列表

想请问下这是怎么回事,其他页面使用这种定位方式完全没问题,不知道为什么就这里再怎么都不行

因为我权限不够上传不了图片,只能贴下我写的定位代码

我也发不了网址,其中url为京东地址jd.com/


url = 'https://www.jd.com/'# 京东地址
driver = webdriver.Chrome()
driver.get(url)
time.sleep(5)

# 这个定位结果为空
b = driver.find_elements(By.CSS_SELECTOR, 'div.more2_inner ul#feedContent0 li')

# 这个定位结果为空
# b = driver.find_elements(By.ID, 'feedContent0')

# 使用鼠标右键选取的selector定位结果也为空
# b = driver.find_elements(By.CSS_SELECTOR, '#J_feeds > div > div.grid_c1.more2_inner > div')

# 这个定位结果为空
# b = driver.find_elements(By.CSS_SELECTOR, '#J_feeds > div > div.grid_c1.more2_inner')

print(b)

isdkz 发表于 2023-1-13 18:50:55

说明你要定位的标签是动态生成的(执行 js 后生成的),

而 python 代码发起请求并不会自动帮你请求并执行 js

suchocolate 发表于 2023-1-14 10:40:12

代码发全,爬虫这种东西要具体问题具体分析,把url发出来我们才能定位问题。
代码里放url没有问题,你上的又不是什么不该上的网站,怕什么。{:10_256:}

lymww 发表于 2023-1-14 17:06:36

suchocolate 发表于 2023-1-14 10:40
代码发全,爬虫这种东西要具体问题具体分析,把url发出来我们才能定位问题。
代码里放url没有问题,你上的 ...

不得行,我试了的,就是京东首页网址

可能我等级太低了,没授权这个功能

lymww 发表于 2023-1-14 17:07:32

isdkz 发表于 2023-1-13 18:50
说明你要定位的标签是动态生成的(执行 js 后生成的),

而 python 代码发起请求并不会自动帮你请求并执 ...

那针对这种的情况,有没有什么解决方法呢?

suchocolate 发表于 2023-1-14 21:01:43

lymww 发表于 2023-1-14 17:06
不得行,我试了的,就是京东首页网址

可能我等级太低了,没授权这个功能

你想爬京东首页的什么东东

lymww 发表于 2023-1-16 09:31:12

suchocolate 发表于 2023-1-14 21:01
你想爬京东首页的什么东东

首页的商品信息

isdkz 发表于 2023-1-16 18:13:39

lymww 发表于 2023-1-14 17:07
那针对这种的情况,有没有什么解决方法呢?

按道理说用 selenium 不会遇到这种问题,我有空再帮你研究研究

lymww 发表于 2023-1-17 11:05:07

isdkz 发表于 2023-1-16 18:13
按道理说用 selenium 不会遇到这种问题,我有空再帮你研究研究

好的,感谢

isdkz 发表于 2023-1-17 15:02:56

lymww 发表于 2023-1-17 11:05
好的,感谢

你搜一下 selenium 向下滚动,你看看网上的资料自己把向下滚动的代码加上去看看,

因为有一些网页一开始并没有加载所有元素,你要向下滚才动态加载的
页: [1]
查看完整版本: 关于Selenium定位的问题