我是read this的话题,但是对我没有帮助。
这是我对网络的第一个动作,我试图获取一些要素。
有时,在我第一次访问该网站时,请求被破坏,该网站拒绝任何内容
网站如何知道我正在使用硒?我没有做任何模式动作或快速动作。
这是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()
答案 0 :(得分:0)
从您的问题中确切不清楚您要与哪个元素进行交互,以及为什么在您与网站的首次连接中,请求被破坏并且网站拒绝任何内容。 >
网站上消息的更多信息术语,例外可以帮助我们更好地调试问题。但是,我采用了自己的代码,并进行了一些简单的修改,并能够如下提取文本:
代码块:
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()
控制台输出(非英语字符不会在我的本地主机上呈现):