为什么网站在使用Selenium时会阻止浏览器导航?

2024-09-24 02:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我的话题,但这对我没有帮助。在

我正在尝试获取一些元素,而这是我对网络的第一个操作。在

有时,在我第一次连接到网站时,请求被破坏,网站拒绝任何东西

网站怎么知道我在用硒?我没有做任何模式动作或快速动作。。在

这是website

有谁能帮我解决这个问题吗?在

这是我的密码

import selenium from selenium import webdriver def open_browser(): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--disable-infobars") browser = selenium.webdriver.Chrome("./chromedriver2.46.exe", chrome_options=chrome_options) browser.maximize_window() return browser def go_to_yad2(browser): browser.get("https://www.yad2.co.il/products/all") def open_category(browser): options_object = browser.find_element_by_xpath("//ul[@data-name='salesCatID']") print(options_object.text()) def main_method(): browser = open_browser() go_to_yad2(browser) open_category(browser) main_method()


Tags: toimportbrowsergoobject网站defselenium
1条回答
网友
1楼 · 发布于 2024-09-24 02:24:39

从您的问题来看,有点不清楚您到底是在尝试与哪个元素交互,以及为什么在您第一次连接到网站时,请求被破坏,网站拒绝任何东西。在

更多的信息来自网站的消息,会帮助我们以更好的方式调试问题。但是,我使用了您自己的代码并做了一些简单的修改,能够提取如下文本:

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    def open_browser():
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument('start-maximized')
        chrome_options.add_argument('disable-infobars')
        chrome_options.add_argument(' disable-extensions')
        browser = webdriver.Chrome(chrome_options=chrome_options, executable_path=r'C:\WebDrivers\chromedriver.exe')
        return browser
    
    def go_to_yad2(browser):
        browser.get("https://www.yad2.co.il/products/all")
    
    def open_category(browser):
        print(WebDriverWait(browser, 30).until(EC.visibility_of_element_located((By.XPATH, "//h3[@class='search_title']"))).text)
    
    def main_method():
        browser = open_browser()
        go_to_yad2(browser)
        open_category(browser)
    
    main_method()
    
  • 控制台输出(非英语字符不会在本地主机上呈现):

nonenglish_chars

相关问题 更多 >