使用Python Selenium进行Web爬网

我正在尝试在Frankfurter Allgemeine Zeitung Archiv上进行WebScraping。我需要点击“ erweiterte suche”按钮,但我不断收到以下错误

  

消息:没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // * [@ id =” g_00271e6200ad4985a0a9c8f9b0032c42“]”}。

我的代码在这里:

import os
import requests
import openpyxl
import smtplib
import time

from selenium import webdriver

driver.get("https://fazarchiv.faz.net")

search_elem = driver.find_element_by_xpath("""//*[@id="searchForm"]/div[1]/input""")
search_elem.click()
search_elem.send_keys('Bürokratie')

erweiterte_suche = driver.find_element_by_xpath("""//*[@id="g_00271e6200ad4985a0a9c8f9b0032c42"]""")
erweiterte_suche.click()

我在做什么错了?

zyqmer 回答:使用Python Selenium进行Web爬网

我想,您想单击“搜索”按钮。灰色的。

因此您可以搜索“Bürokratie”一词。

您的代码也缺少部分。 像驱动程序设置一样。

此代码对我有用,您可以使用:

    from selenium import webdriver
    driver = webdriver.Firefox()

    driver.get("https://fazarchiv.faz.net")

    search_elem = driver.find_element_by_xpath("""//*[@id="searchForm"]/div[1]/input""")
    search_elem.click()
    search_elem.send_keys('Bürokratie')

    erweiterte_suche = driver.find_element_by_css_selector("""#searchForm > div.boxRow.clearfix > input""")
    erweiterte_suche.click()
,

该ID是动态的,并且每次加载网站时都会更改。改用班级

erweiterte_suche = driver.find_element_by_xpath('//*[@class="boxExtendedSearch ext-hidden globalArrowRedRight"]')
,

尝试一下:

erweiterte_suche = driver.find_element_by_xpath("//div[@class='clearfix']/a[1]")

或者这个:

erweiterte_suche = driver.find_element_by_xpath("//a[text()='erweiterte Suche']")
本文链接:https://www.f2er.com/3081472.html

大家都在问