1
我目前有一個HTML頁面,我通過Selenium打開並單擊元素,填寫表單並保存。多處理和硒,並行運行多個瀏覽器?
但是這很慢,我真的想加快速度。 我想同時運行多個瀏覽器,爲每一個不同的xpaths
點擊。這可能嗎?
截至目前,我有一個包含三個用戶對象的列表。我想爲每個用戶運行3個獨立的硒進程,它們都會觸及相同的網頁,但是會點擊不同的元素。我想同時做到這一點。
這裏是我的代碼(不工作):
def main():
pool = Pool(processes=4)
pool.map(bookRooms, users)
...
def bookRooms(users):
if not users:
logging.error("No available times")
else:
driver = Browser('phantomjs')
driver.visit(url)
for user in users:
for xpath in user.xpaths:
driver.find_by_xpath(user.getXPath()).click()
driver.find_by_xpath("id('save')").click()
driver.find_by_name("username").fill(user.getUsername())
driver.find_by_name("password").fill(user.getPassword())
driver.find_by_name("submit").click()
driver.close()
如果你想像我的名單看起來是這樣那麼:
[User1, User2, User3]
我如何可以調用bookRooms()
方法,讓它跑起來這並行:
bookRooms(User1)
bookRooms(User2)
bookRooms(User3)
...
基本上,打破名單和運行e方法在每個元素上。硒能夠以這種方式工作嗎?
謝謝