获取错误硒python:无法找到元素

时间:2020-05-06 12:13:13

标签: python python-3.x selenium selenium-webdriver

尝试点击标签时出现此错误 。 python3-硒-firefox

enemy = Enemy(random.randrange(50, WIDTH-100), random.randrange(-1500, -100), random.choice(Enemy.ALIEN_CHOICE))

我的代码:

 unable to locate element /html/body/div[6]/div[3]/div/div[2]/div[1]/a[1]

1 个答案:

答案 0 :(得分:0)

如果您想点击第一篇文章,请引诱WebDriverWait()并等待element_to_be_clickable()

driver.get("https://gamehag.com/news")
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".row.news-container.tile-grid.small-gutters a"))).click()

如果要获取文章列表,请使用visibility_of_all_elements_located(),然后获取href值并进行迭代

driver.get("https://gamehag.com/news")
elements=WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,".row.news-container.tile-grid.small-gutters a")))
urls=[element.get_attribute('href') for element in elements]
for url in urls:
    driver.get(url)
    #do something

注意:您需要导入以下库。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By