使用Python Selenium进行Web垃圾处理
我想在法兰克福Allgemine Zeitung Archiv上拉网。我需要点击“erweiterte suche”按钮,但我一直得到下面的错误 消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@id=“g_00271e6200ad4985a0a9c8f9b0032c42”]} 我的代码在这里:使用Python Selenium进行Web垃圾处理,python,html,selenium,web-scraping,Python,Html,Selenium,Web Scraping,我想在法兰克福Allgemine Zeitung Archiv上拉网。我需要点击“erweiterte suche”按钮,但我一直得到下面的错误 消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@id=“g_00271e6200ad4985a0a9c8f9b0032c42”]} 我的代码在这里: import os import requests import openpyxl import smtplib import time from seleniu
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()
我做错了什么?id是动态的,每次加载站点时都会更改。改用类
erweiterte_suche = driver.find_element_by_xpath('//*[@class="boxExtendedSearch ext-hidden globalArrowRedRight"]')
试试这个:
erweiterte\u suche=driver.通过xpath(“//div[@class='clearfix']]/a[1]”查找元素
或者这个:
erweiterte\u suche=driver.通过xpath(//a[text()='erweiterte suche'])查找元素
我想,您应该单击“Suche”按钮。灰色的那个
所以你可以搜索“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()
我建议不要完全使用selenium,因为它不再被更新了。太贵了obsolete@AnonumousPomp什么意思?硒实际上是自主交互的标准。哎呀,我想到的是phantomjs。很抱歉