硒可以更快地工作吗?

时间:2019-06-03 19:57:19

标签: python-3.x rest selenium

我正在Python中使用Selenium来捕获网页文本,包括那些来自javascript的文本,但是我使用Firefox或其他浏览器打开了一个窗口,处理速度非常慢,每页大约30秒。 我可以以某种方式加快速度吗?

代码示例为:

    gecko_path = r'X:\Programming\geckodriver\geckodriver.exe'

binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
options = Options()
options.binary = binary

xml_id ="JobDescription"
xml_class ="details-content"

driver = webdriver.Firefox(firefox_options=options, executable_path = gecko_path)

# get web page
driver.get(url)

text = bytes(driver.find_element_by_class_name(xml_class).text.encode('utf-8'))

print(type(text))

1 个答案:

答案 0 :(得分:0)

我认为您无法有效地加快Selenium测试的速度,因为它们会启动真正的浏览器,因此,您应该获得与使用普通浏览器打开页面大致相同的时间。

您可以考虑使用无头工具,例如Scrapybeautifulsoup等用于网页抓取的工具-这样一来,您应该能够更快地从页面中获取有趣的文本。

另一种选择是使用Selenium Gridrun your Selenium tests in parallel启动多个浏览器实例,通过它您可以在硬件上启动的浏览器数量成比例地减少执行时间。