Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python Selenium进行Web垃圾处理_Python_Html_Selenium_Web Scraping - Fatal编程技术网

使用Python Selenium进行Web垃圾处理

使用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

我想在法兰克福Allgemine Zeitung Archiv上拉网。我需要点击“erweiterte suche”按钮,但我一直得到下面的错误

消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@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()

我做错了什么?

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。很抱歉