在使用Selenium之后,我正在将我的项目转换到Scrapy,但我遇到了一些挑战。我已经研究了文档,但还没有找到解决方案。
input_element = driver.find_element(By.ID, "location-typeahead-home-input")
input_element.send_keys("Boston Park Plaza")
time.sleep(2)
button_xpath = "//main[@id='main-content']//button"
button_elements = driver.find_elements(By.XPATH, button_xpath)
if len(button_elements) >= 2:
second_button = button_elements[1]
second_button.click()
else:
button_elements[0].click()`
字符串
我已经尝试了示例代码,但它似乎需要一个表单,而表单在本文中不可用。
input_element = response.css("input#location-typeahead-home-input")
input_element_value = "Boston Park Plaza"
button = response.xpath("//main[@id='main-content']//button")
yield scrapy.FormRequest.from_response(
response,
formdata={input_element.attrib['name']: input_element_value},
formname=None,
clickdata={'xpath': "//main[@id='main-content']//button"},
callback=self.after_search
)`
型
我试图将我的Selenium项目转换到Scrapy,遇到了输入字段交互和按钮单击的问题。
1条答案
按热度按时间zysjyyx41#
最简单的答案是:你不能使用Scrapy按按钮!
你需要理解数据是如何被发送到服务器的(即POST方法),然后你必须像浏览器一样叙述事情。