我正在尝试在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()
我在做什么错了?
答案 0 :(得分:1)
我想,您想单击“搜索”按钮。灰色的。
因此您可以搜索“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()
答案 1 :(得分:0)
该ID是动态的,并且每次加载网站时都会更改。改用班级
erweiterte_suche = driver.find_element_by_xpath('//*[@class="boxExtendedSearch ext-hidden globalArrowRedRight"]')
答案 2 :(得分:0)
尝试一下:
erweiterte_suche = driver.find_element_by_xpath("//div[@class='clearfix']/a[1]")
或者这个:
erweiterte_suche = driver.find_element_by_xpath("//a[text()='erweiterte Suche']")