unknown error: Element <a>...</a> is not clickable at point selenium点击标签会返回新页面数据的获取对应数据的正确做法

要想在用selenium点击标签会返回新页面数据的情况下获取对应数据的正确做法
运行代码如下:

import re
import requests
import random
from selenium import webdriver
import time

dri = webdriver.Chrome()
dri.get('https://item.jd.com/43546434008.html')
b=1
while True:
    a_s = dri.find_elements_by_xpath('//*[@id="choose-attr-1"]//div[contains(@class,"item")]//a')

    print(a_s)

    print('b:',b,dri.current_url)

    a_s[b].click()
    b += 1
    time.sleep(5)

报错如下:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element <a href="#none" clstag="shangpin|keycount|product|yanse-宝石蓝(4G+128G)">...</a> is not clickable at point (804, 705). Other element would receive the click: <img src="//qrimg.jd.com/https%3A%2F%2Fitem.m.jd.com%2Fproduct%2F43546434008.html%3Fpc_source%3Dpc_productDetail_43546434008-118-1-4-2.png?ltype=0" width="118" height="118">
  (Session info: chrome=70.0.3538.102)
  (Driver info: chromedriver=2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d),platform=Linux 4.4.0-31-generic x86_64)

原因:这类报错是告诉你:你捕捉的a标签的对象是没法点击的。

解决办法:程序一打开网页就要马上把网页窗口放到最大,就这样!不放大就会报上诉的错误,具体原理我也不清楚。

点击网页窗口放大按钮后正确运行:

[<selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9981319550461882-1")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9981319550461882-2")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9981319550461882-3")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9981319550461882-4")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9981319550461882-5")>]
b: 1 https://item.jd.com/43546434008.html
[<selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.7368271933347819-1")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.7368271933347819-2")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.7368271933347819-3")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.7368271933347819-4")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.7368271933347819-5")>]
b: 2 https://item.jd.com/42892674091.html#crumb-wrap
[<selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.4629142264545236-1")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.4629142264545236-2")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.4629142264545236-3")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.4629142264545236-4")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.4629142264545236-5")>]
b: 3 https://item.jd.com/47687126591.html#crumb-wrap
[<selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.910825062882906-1")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.910825062882906-2")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.910825062882906-3")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.910825062882906-4")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.910825062882906-5")>]
b: 4 https://item.jd.com/42408070106.html#crumb-wrap
[<selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9917327296723293-1")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9917327296723293-2")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9917327296723293-3")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9917327296723293-4")>, <selenium.webdriver.remote.webelement.WebElement (session="9fd866ae2337574fe330004982f026bc", element="0.9917327296723293-5")>]
b: 5 https://item.jd.com/42408070107.html#crumb-wrap
Traceback (most recent call last):
  File "/home/python/Desktop/python_study/suning/test.py", line 19, in <module>
    a_s[b].click()
IndexError: list index out of range
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值